Without this alarm() the application runs without errors, but with this new alarm() code I'm getting errors: Global symbol "$sock" requires explicit package name at ./test.pl line 48. Execution of ./test.pl aborted due to compilation errors. I have the main code, inside this main code I call 3 threads and inside this threads I call a function to test the connectivity, this function is where this example of code is located. I don't want to die(), well, I can call die(), but I can't exit the application, in the case of a timeout I just want to call "return" or something like that to return from this function to the previous function (the one used when I called the tread). Can you please give a help how to fix this example of code with alarm()? Thank youeval { local $SIG{ALRM} = sub { die "alarm\n" }; # NB \n required alarm 5; my $sock = new Net::SOCKS(socks_addr => $socksserver, socks_port => $s +ocksport, protocol_version => 5); alarm 0; }; die if $@ && $@ ne "alarm\n"; # propagate errors if ($@) { print("\nTIME-OUT\n"); } else { my $con = $sock->connect(peer_addr => '10.1.1.3', peer_port => 23); #other parts of my code. }
In reply to Re^2: Net::SOCKS how define timeout?
by perlmonks12
in thread Net::SOCKS how define timeout?
by perlmonks12
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |