Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 alarm signal problem   Alex Dedul   09 Oct 2002 10:19:49 
 Re: alarm signal problem   Igor S Chencov   09 Oct 2002 14:05:22 
 Re: alarm signal problem   Andrey Sapozhnikov   09 Oct 2002 16:51:25 
 alarm signal problem   Alex Dedul   10 Oct 2002 16:27:07 
 alarm signal problem   Alex Dedul   10 Oct 2002 16:24:10 
Архивное /ru.perl/14343da3e858.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional