Bug->Doc #70708 [Opn->Ver]: Call to undefined function pcntl_sigwaitinfo

From: Date: Thu, 19 Mar 2020 11:13:42 +0000
Subject: Bug->Doc #70708 [Opn->Ver]: Call to undefined function pcntl_sigwaitinfo
References: 1  Groups: php.doc.bugs 
Request: Send a blank email to doc-bugs+get-17436@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=70708&edit=1 ID: 70708 Updated by: cmb@php.net Reported by: damien dot lasserre at gmail dot com Summary: Call to undefined function pcntl_sigwaitinfo -Status: Open +Status: Verified -Type: Bug +Type: Documentation Problem Package: PCNTL related Operating System: OS X 10.10.5 PHP Version: 7.0Git-2015-10-13 (Git) Block user comment: N Private report: N New Comment: Indeed, this function is defined conditionally, and that should be documented. See also <https://www.php.net/manual/en/function.pcntl-sigwaitinfo.php#119613>. Previous Comments: ------------------------------------------------------------------------ [2016-06-18 02:28:37] dave at mudsite dot com Correct. Darwin appears not to implement sigwaitinfo() or sigtimedwait(): http://opensource.apple.com//source/xnu/xnu-1456.1.26/bsd/sys/signal.h However, on my macos machine I can accomplish what you're trying to do, possibly by doing this: <?php declare(ticks=1); class Foo { function signaltest() { pcntl_signal(SIGUSR1, array($this, 'restart')); } function restart($signo) { print_r("Restarting From $signo"); } } $f = new Foo(); $f->signalTest(); posix_kill(posix_getpid(), (int)SIGUSR1); sleep(1); ------------------------------------------------------------------------ [2015-10-13 14:06:15] damien dot lasserre at gmail dot com I think the methode doesn't work on MAC :( but after configuration with support pcntl if i check the file main/php_config.h : /* Define to 1 if you have the `sigtimedwait' function. */ /* #undef HAVE_SIGTIMEDWAIT */ /* Define to 1 if you have the `sigwaitinfo' function. */ /* #undef HAVE_SIGWAITINFO */ :( ------------------------------------------------------------------------ [2015-10-13 13:10:42] damien dot lasserre at gmail dot com Description: ------------ --- From manual page: http://www.php.net/function.pcntl-sigwaitinfo --- Hi, When i try to use pcntl_sigwaitinfo function, an error occur : Uncaught Error: Call to undefined function pcntl_sigwaitinfo, but pcntl extension was installed and activated... <?php //... while($running) { /** @var int $pid */ $pid = pcntl_waitpid(-1, $status, WNOHANG); if($pid) { $sig = pcntl_wstopsig($status); if($sig === SIGUSR1) { $this->restartService($pid); } } /** Restart all services if SIGHUP send as SMP process */ pcntl_sigwaitinfo(array(SIGUSR1), $info); if((int)$info['signo'] === SIGUSR1) { $this->restart(); } } //... ?> Below: (php -i | grep pcntl) pcntl pcntl support => enabled OLDPWD => /tmp/php-src/ext/pcntl $_SERVER['OLDPWD'] => /tmp/php-src/ext/pcntl Regards. ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=70708&edit=1

« previous php.doc.bugs (#17436) next »