PHP Doku:: Waits for signals, with a timeout - function.pcntl-sigtimedwait.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzErweiterungen zur ProzesskontrolleProzesskontrollePCNTL Funktionenpcntl_sigtimedwait

Ein Service von Reinhard Neidl - Webprogrammierung.

PCNTL Funktionen

<<pcntl_sigprocmask

pcntl_sigwaitinfo>>

pcntl_sigtimedwait

(PHP 5 >= 5.3.0)

pcntl_sigtimedwaitWaits for signals, with a timeout

Beschreibung

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.

Parameter-Liste

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.

Rückgabewerte

On success, pcntl_sigtimedwait() returns a signal number.

Siehe auch


Ein BenutzerBeitrag:
- Beiträge aktualisieren...
kak dot serpom dot po dot yaitsam at gmail dot com
27.07.2009 0:50
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.



PHP Powered Diese Seite bei php.net
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)