проблема такая (язык перл), есть некий враттер для чтения из сокета:
sub rdsock
{
        my $sock = shift;
        my %args = @_;
        my $timeout = $args{-timeout} || $TIMEOUT_DATA;
        my $nb = $args{-nbytes};
        my $data;
        eval {
                local $SIG{ALRM} = sub { die "alarm\n" };
                alarm($timeout);
                if (defined($nb)) {
                        $sock->read($data, $nb);
                } else {
                        $data = $sock->getline();
                }
                alarm(0);
        };
        if ($@) {
                return 0 unless $@ eq "alarm\n";
        }else{
                return 0 if(!$data);
                return $data;
        }
}
но, он почему-то не работает, в трейсе происходит вот такое:
read(4, 0xa351068, 4096)                = ? ERESTARTSYS (To be restarted)
--- SIGALRM (Alarm clock) @ 0 (0) ---
sigreturn()                             = ? (mask now [])
rt_sigprocmask(SIG_BLOCK, [ALRM], NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [ALRM], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [ALRM], [], 8) = 0
rt_sigaction(SIGALRM, {0x80b6289, [], SA_RESTORER, 0x7e0be8}, {0x80b6289, [], SA_RESTORER, 0x7e0be8}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [ALRM], [], 8) = 0
rt_sigaction(SIGALRM, {SIG_DFL}, {0x80b6289, [], SA_RESTORER, 0x7e0be8}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, [ALRM], [], 8) = 0
rt_sigaction(SIGALRM, {0x80b6289, [], SA_RESTORER, 0x7e0be8}, {SIG_DFL}, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
alarm(2)                                = 0
read(4, 0xa351068, 4096)                = ? ERESTARTSYS (To be restarted)
--- SIGALRM (Alarm clock) @ 0 (0) ---
sigreturn()                             = ? (mask now [])

    
      Ответ на:
      
          комментарий
        от idle 
  
    
        Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
      
Похожие темы
- Форум Firefox не запускается и в консоль не выдает ошибки (2004)
 - Форум Сборка модуля ядра из исходников под Linux 4.4 (2018)
 - Форум Консольный plantuml не создаёт диаграммы из json. (2021)
 - Форум Перестал запускатся blender (2007)
 - Форум strace выдаёт Permission denied (2023)
 
- Форум И вновь потоки[C] (2012)
 - Форум Aapache перестает обрабатывать запросы. (2013)
 - Форум Некий прокси сервер. Проблема с пересылкой пакетов. Lua (2020)
 - Форум Изменение скрипта aa-recorder (2018)
 - Форум Не работает блюр на верхней панели js (2025)