pcntl_sigtimedwait
(PHP 5 >= 5.3.0, PHP 7)
pcntl_sigtimedwait — Waits for signals, with a timeout
Описание
$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.
Список параметров
-
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.
Возвращаемые значения
On success, pcntl_sigtimedwait() returns a signal number.
Смотрите также
- pcntl_sigprocmask() - Sets and retrieves blocked signals
- pcntl_sigwaitinfo() - Waits for signals
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для управления процессами программ
- Process Control
- pcntl_alarm
- pcntl_errno
- pcntl_exec
- pcntl_fork
- pcntl_get_last_error
- pcntl_getpriority
- pcntl_setpriority
- pcntl_signal_dispatch
- pcntl_signal
- pcntl_sigprocmask
- pcntl_sigtimedwait
- pcntl_sigwaitinfo
- pcntl_strerror
- pcntl_wait
- pcntl_waitpid
- pcntl_wexitstatus
- pcntl_wifexited
- pcntl_wifsignaled
- pcntl_wifstopped
- pcntl_wstopsig
- pcntl_wtermsig
Коментарии
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.