diff options
author | Felipe Pena <felipe@php.net> | 2009-03-25 22:52:30 +0000 |
---|---|---|
committer | Felipe Pena <felipe@php.net> | 2009-03-25 22:52:30 +0000 |
commit | fe9ce624f670a25c7f568cd0c12f7b63445be301 (patch) | |
tree | e58a0c2ef9e4c8a77afdc02bafc8103a1802e6a9 /ext/pcntl | |
parent | 2881a60e31bfee41b4f5aee34f2d2bd82b35f4ed (diff) | |
download | php-git-fe9ce624f670a25c7f568cd0c12f7b63445be301.tar.gz |
MFH:
- Fixed bug #47779 (Wrong value for SIG_UNBLOCK and SIG_SETMASK constants).
Patch by: mbeccati at php.net
Diffstat (limited to 'ext/pcntl')
-rwxr-xr-x | ext/pcntl/pcntl.c | 4 | ||||
-rw-r--r-- | ext/pcntl/tests/003.phpt | 32 |
2 files changed, 34 insertions, 2 deletions
diff --git a/ext/pcntl/pcntl.c b/ext/pcntl/pcntl.c index 90070566b8..9a702074c0 100755 --- a/ext/pcntl/pcntl.c +++ b/ext/pcntl/pcntl.c @@ -264,8 +264,8 @@ void php_register_signal_constants(INIT_FUNC_ARGS) /* {{{ "how" argument for sigprocmask */ #ifdef HAVE_SIGPROCMASK REGISTER_LONG_CONSTANT("SIG_BLOCK", SIG_BLOCK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIG_UNBLOCK", SIG_BLOCK, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("SIG_SETMASK", SIG_BLOCK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIG_UNBLOCK", SIG_UNBLOCK, CONST_CS | CONST_PERSISTENT); + REGISTER_LONG_CONSTANT("SIG_SETMASK", SIG_SETMASK, CONST_CS | CONST_PERSISTENT); #endif /* }}} */ diff --git a/ext/pcntl/tests/003.phpt b/ext/pcntl/tests/003.phpt new file mode 100644 index 0000000000..012277d255 --- /dev/null +++ b/ext/pcntl/tests/003.phpt @@ -0,0 +1,32 @@ +--TEST-- +pcntl: SIG_BLOCK, SIG_UNBLOCK, SIG_SETMASK +--SKIPIF-- +<?php + if (!extension_loaded('pcntl')) die('skip pcntl extension not available'); + elseif (!extension_loaded('posix')) die('skip posix extension not available'); + elseif (!function_exists('pcntl_sigwaitinfo') or !function_exists('pcntl_sigtimedwait')) die('skip required functionality is not available'); +?> +--FILE-- +<?php + +pcntl_sigprocmask(SIG_BLOCK, array(SIGCHLD,SIGTERM), $old); +var_dump(count($old)); +pcntl_sigprocmask(SIG_BLOCK, array(SIGINT), $old); +var_dump(count($old)); +pcntl_sigprocmask(SIG_UNBLOCK, array(SIGINT), $old); +var_dump(count($old)); +pcntl_sigprocmask(SIG_SETMASK, array(SIGINT), $old); +var_dump(count($old)); +pcntl_sigprocmask(SIG_SETMASK, array(), $old); +var_dump(count($old)); +pcntl_sigprocmask(SIG_SETMASK, array(), $old); +var_dump(count($old)); + +?> +--EXPECT-- +int(0) +int(2) +int(3) +int(2) +int(1) +int(0) |