diff options
| -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 e48e330e39..723dd809dc 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) |
