pcntl_sigtimedwait

(PHP 5 >= 5.3.0)

pcntl_sigtimedwaitWaits for signals, with a timeout

Description

int pcntl_sigtimedwait ( array $set [, array &$siginfo [, int $seconds = 0 [, int $nanoseconds = 0 ]]] )

The pcntl_sigtimedwait() function operates in exactly the same way as pcntl_sigwaitinfo() except that it takes two additional parameters, seconds and nanoseconds, which enable an upper bound to be placed on the time for which the script is suspended.

Parameters

set

Array of signals to wait for.

siginfo

The siginfo is set to an array containing informations about the signal. See pcntl_sigwaitinfo().

seconds

Timeout in seconds.

nanoseconds

Timeout in nanoseconds.

Return Values

On success, pcntl_sigtimedwait() returns a signal number.

See Also

Коментарии

In the case if pcntl_sigtimedwait() is unavailable (under Mac OS, under PHP < 5.3), you can pick up the workaround:

<?php
if (!function_exists('pcntl_sigtimedwait'))
{
 function 
pcntl_sigtimedwait($signals,$siginfo,$sec,$nano)
 {
 
pcntl_signal_dispatch();
  if (
time_nanosleep($sec,$nano) === TRUE) {return FALSE;}
 
pcntl_signal_dispatch();
  return 
TRUE;
 }
}
?>

Behaviour of this function differs from original one. This function returns true if a signal was retrieved and false if it was not retrieved. However, the timeout will be interrupted immediately when signal sent.
2009-07-26 18:50:33
http://php5.kiev.ua/manual/ru/function.pcntl-sigtimedwait.html

    Поддержать сайт на родительском проекте КГБ