LINUX.ORG.RU

Вопрос про возвращаемое значение recv и child process в Perl


0

0

Вот кусок кода
....
....
my $from = $socket -> recv (my $data, 8192, 0) or do 
    {
       logg "Can't receive datagramm from socket : '$!'";
       next;
    };
....
....
Вот что написано про recv return value в perlfunc:

Returns the address of the sender if SOCKET's protocol supports this; 
returns an empty string otherwise. If there's an error, returns the 
undefined value

Правильно ли я использую здесь $! для определения кода ошибки???
Такой вопрос возник у меня т.к. в некоторых случаях моя программа
выдаёт следующее сообщение:

Can't receive datagramm from socket : 'No child processes'

В программе действительно используются fork, используется обработчик
SIGCHLD и.т.д
Но почему я получаю такое сообщение после чтения из сокета???



Тема закрыта, но если кому интересно решение 
см.Perl CookBook Chapter 16

kri
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.