diff options
-rw-r--r-- | NEWS | 1 | ||||
-rwxr-xr-x | ext/pcntl/pcntl.c | 8 |
2 files changed, 9 insertions, 0 deletions
@@ -3,6 +3,7 @@ PHP NEWS ?? ??? 200?, PHP 5.3.0 RC 2 - Undeprecated ticks. (Arnaud) +- Fixed bug #47816 (pcntl tests failing on NetBSD). (Matteo) - Fixed bug #44861 (scrollable cursor don't work with pgsql). (Matteo) - Fixed bug #47779 (Wrong value for SIG_UNBLOCK and SIG_SETMASK constants). (Matteo) diff --git a/ext/pcntl/pcntl.c b/ext/pcntl/pcntl.c index 91fcea3738..e5ce729b37 100755 --- a/ext/pcntl/pcntl.c +++ b/ext/pcntl/pcntl.c @@ -924,6 +924,14 @@ static void pcntl_sigwaitinfo(INTERNAL_FUNCTION_PARAMETERS, int timedwait) /* {{ php_error_docref(NULL TSRMLS_CC, E_WARNING, "%s", strerror(errno)); } + /* + * sigtimedwait and sigwaitinfo can return 0 on success on some + * platforms, e.g. NetBSD + */ + if (!signo && siginfo.si_signo) { + signo = siginfo.si_signo; + } + if (signo > 0 && user_siginfo) { if (Z_TYPE_P(user_siginfo) != IS_ARRAY) { zval_dtor(user_siginfo); |