Hi, I'm not sure what's going on here. I have a simple script that reaches the end (and prints out "here") but the script never ends and I have to ctrl-c it.
below is the simple script that never ends, and below that is the Finance::InteractiveBrokers::TWS code that implements and wraps the Inline::Java I think here must be some thread that is still active or some other resource that is not terminated that's hanging my program, but I can't tell what it is. Thanks for any help Jay #!/usr/bin/perl use strict; use warnings; package Local::Callback; sub new { my $class = shift; return bless {}, $class; } sub AUTOLOAD { my ($self, @args) = @_; our $AUTOLOAD; print "$AUTOLOAD called with: ", join '^', @args, "\n"; return; } package main; use Finance::InteractiveBrokers::TWS; my $cb = Local::Callback->new(); my $tws = Finance::InteractiveBrokers::TWS->new(callback=>$cb); my $client_socket = $tws->get_EClientSocket(); my $api = $tws->get_api(); my $host = "pt"; my $port = 7496; my $client_id = $$; $api->OpenCallbackStream(); while (! $tws->get_EClientSocket->isConnected()) { $client_socket->eConnect($host, $port, $client_id); } while ((my $rc = $api->WaitForCallback(1)) > -1){ if ($rc > 0){ $api->ProcessNextCallback() ; last if ! $tws->get_EClientSocket->isConnected(); } else { # A timeout has occured after, in this case, 5 secs. print "5 seconds have passed, still waiting for callback...\n" ; $client_socket->eDisconnect(); } } print "here\n"; A link to Finance::InteractiveBrokers::TWS http://search.cpan.org/src/JSTRAUSS/Finance-InteractiveBrokers-TWS-v0.0.5/lib/Finance/InteractiveBrokers/TWS.pm