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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Alex Dedul                           2:450/82       10 Oct 2002  16:27:07
 To : Andrey Sapozhnikov
 Subject : alarm signal problem
 -------------------------------------------------------------------------------- 
 
 
 Помню когда-то , 09 Oct 02 в 16:51, Andrey Sapozhnikov напиcал для Igor S
 Chencov нижecлeдyющee:
 
  >>  $SIG{ALRM} = sub { die "alarm\n" };
  >>  eval {
  >>    alarm ($opt_timeout);
  >>    . . .
  >>    alarm(0);
  >>  };
  AS> Подобными конструкциями необходимо пользоваться с
  AS> крайней осторожностью. Есть много подводных камней.
  AS> Я бы рекомендовал для таймаутов сокетных операций
  AS> использовать только IO::Select в сочетании с
  AS> fcntl(sock, F_SETFL, O_NONBLOCK);
 
         Так в том то и дело, что сокетные операции все где-то внутри Net::SOCKS
 и выставить им таймаут дергая его методы невозможно.
 
  AS> Самые явные подводные камни, это:
 
  AS> 1. вложенные ALARM-ы. Делая
  AS> {
  AS>      local $SIG{ALRM} = sub {...};
  AS>      alarm(30);
 
 [...]
 
  AS> По моему достаточно для того, чтоб задуматься об
  AS> отказе от использования alarm за исключением редких
  AS> вырожденных случаев.
 
         Похоже именно такой случай тут и имеет место быть.
 
 WBR, Alex
 --- 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/14343da58f23.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional