Как реагировать, ести stream_select возвращает FALSE?

sfes

Новичок
Как реагировать, ести stream_select возвращает FALSE?

Привет,
я работаю с PHP5 и использую для работы с сокетами функцию
stream_select. Она проверяет массивы сокетов на готовность к операциям чтение/запись. Возвращает число готовых потоков или FALSE.
Например:
PHP:
$read = $write = $sockets_opened; 
if (false === ($n = stream_select($read, $write, $e = NULL, 0, 200000)))
В мануале насчет FALSE говорится:
On error FALSE is returned and a warning raised (this can happen if the system call is interrupted by an incoming signal).

Как это можно корректно обработать?
Т.е. нужно ли мне прервать всю работу с сокетами(это глобальный сбой?) или можно вызвать эту функцию еще раз с надеждой на успех?
Как получить сообщение об ошибке?

Заранее спасибо.
 

sfes

Новичок
А как получить сообщение об ошибке?
И узнать, что за ошибка?
К примеру, в мануале приводится такой код:
PHP:
<?php
/* Prepare the read array */
$read = array($stream1, $stream2);

if (false === ($num_changed_streams = stream_select($read, $write = NULL, $except = NULL, 0))) {
   /* Error handling */
} elseif ($num_changed_streams > 0) {
   /* At least on one of the streams something interesting happened */
}
?>
Вот это /* Error handling */ ведб подразумевает обработку, т.е. получение хотя бы кода и описания ошибки...
 

whirlwind

TDD infected, paranoid
> warning raised

Попробуй $php_errormsg или установи обработчик варнингов до вызова селекта. Но вообще приход сигнала (interrupted by an incoming signal) - это не ошибка, это просто прерывание.
 
Сверху