|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Alex Dedul 2:450/82 09 Oct 2002 10:19:49 To : All Subject : alarm signal problem -------------------------------------------------------------------------------- Как сделать так, чтобы после отработки сигнала ALRM выполнение программы продолжилось с нужного мне места ? В примере выполнение подвисает после $socks->connect(), вызывается обработчик сигнала и после него выполнение продолжает висеть где-то в нутрях Net::SOCKS. Можно ли сделать чтобы после обработчика был переход на следующую строку, которая if($socket) ? Заранее спасибо. $SIG{'ALRM'} = sub { $SIG{'ALRM'} = 'IGNORE'; alarm(0); undef $socks; undef $socket; }; alarm(5); $socks = new Net::SOCKS(socks_addr => '1.2.3.4', socks_port => 1080, protocol_version => 5); $socket = $socks->connect(peer_addr => '5.6.7.8', peer_port => '1111'); if($socket) { alarm(0); return 1; } else { alarm(0); return 0; } WBR, Alex winamp$ Mortiis 'Fodt til a herske' - Part II --- GoldED+/W32 1.1.4.7 * Origin: Iron Hills Lab. (2:450/82) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/14343da3e858.html, оценка из 5, голосов 10
|