diff options
author | Jani Taskinen <jani@php.net> | 2008-08-05 15:12:19 +0000 |
---|---|---|
committer | Jani Taskinen <jani@php.net> | 2008-08-05 15:12:19 +0000 |
commit | c71ea248bd8df441acb362e289502b2ea44f1347 (patch) | |
tree | e258a2fee54f409c7b43a4464164dd7896757db2 | |
parent | a032e1a514bb49f385aff2a6b3b9b41b2b55a25b (diff) | |
download | php-git-c71ea248bd8df441acb362e289502b2ea44f1347.tar.gz |
MFH
-rw-r--r-- | ext/pcntl/config.m4 | 4 | ||||
-rwxr-xr-x | ext/pcntl/pcntl.c | 17 | ||||
-rw-r--r-- | ext/pcntl/php_pcntl.h | 3 | ||||
-rw-r--r-- | ext/pcntl/php_signal.c | 9 | ||||
-rw-r--r-- | ext/pcntl/tests/001.phpt | 2 | ||||
-rw-r--r-- | ext/pcntl/tests/002.phpt | 4 | ||||
-rw-r--r-- | ext/pcntl/tests/pcntl_signal_dispatch.phpt | 8 | ||||
-rwxr-xr-x | ext/pcntl/tests/signal_closure_handler.phpt | 6 |
8 files changed, 30 insertions, 23 deletions
diff --git a/ext/pcntl/config.m4 b/ext/pcntl/config.m4 index 3971c32a5d..9666275239 100644 --- a/ext/pcntl/config.m4 +++ b/ext/pcntl/config.m4 @@ -9,11 +9,9 @@ PHP_ARG_ENABLE(pcntl, whether to enable pcntl support, [ --enable-pcntl Enable experimental pcntl support (CLI/CGI only)]) if test "$PHP_PCNTL" != "no"; then - AC_CHECK_FUNCS(fork, [ AC_DEFINE(HAVE_FORK,1,[ ]) ], [ AC_MSG_ERROR(pcntl: fork() not supported by this platform) ]) AC_CHECK_FUNCS(waitpid, [ AC_DEFINE(HAVE_WAITPID,1,[ ]) ], [ AC_MSG_ERROR(pcntl: fork() not supported by this platform) ]) AC_CHECK_FUNCS(sigaction, [ AC_DEFINE(HAVE_SIGACTION,1,[ ]) ], [ AC_MSG_ERROR(pcntl: sigaction() not supported by this platform) ]) - AC_CHECK_FUNCS(getpriority setpriority wait3 sigprocmask sigwaitinfo sigtimedwait) - + AC_CHECK_FUNCS([getpriority setpriority wait3 sigprocmask sigwaitinfo sigtimedwait]) PHP_NEW_EXTENSION(pcntl, pcntl.c php_signal.c, $ext_shared, cli) fi diff --git a/ext/pcntl/pcntl.c b/ext/pcntl/pcntl.c index d431bd855a..fbe79baf00 100755 --- a/ext/pcntl/pcntl.c +++ b/ext/pcntl/pcntl.c @@ -35,8 +35,11 @@ #include "php_ini.h" #include "ext/standard/info.h" #include "php_pcntl.h" +#include "php_signal.h" +#include "php_ticks.h" #if HAVE_GETPRIORITY || HAVE_SETPRIORITY || HAVE_WAIT3 +#include <sys/wait.h> #include <sys/time.h> #include <sys/resource.h> #endif @@ -864,12 +867,12 @@ static void pcntl_sigwaitinfo(INTERNAL_FUNCTION_PARAMETERS, int timedwait) /* {{ #ifdef SIGCHLD case SIGCHLD: add_assoc_long_ex(user_siginfo, "status", sizeof("status"), siginfo.si_status); -#ifdef si_utime +# ifdef si_utime add_assoc_double_ex(user_siginfo, "utime", sizeof("utime"), siginfo.si_utime); -#endif -#ifdef si_stime +# endif +# ifdef si_stime add_assoc_double_ex(user_siginfo, "stime", sizeof("stime"), siginfo.si_stime); -#endif +# endif add_assoc_long_ex(user_siginfo, "pid", sizeof("pid"), siginfo.si_pid); add_assoc_long_ex(user_siginfo, "uid", sizeof("uid"), siginfo.si_uid); break; @@ -883,7 +886,9 @@ static void pcntl_sigwaitinfo(INTERNAL_FUNCTION_PARAMETERS, int timedwait) /* {{ #ifdef SIGPOLL case SIGPOLL: add_assoc_long_ex(user_siginfo, "band", sizeof("band"), siginfo.si_band); +# ifdef si_fd add_assoc_long_ex(user_siginfo, "fd", sizeof("fd"), siginfo.si_fd); +# endif break; #endif EMPTY_SWITCH_DEFAULT_CASE(); @@ -894,7 +899,7 @@ static void pcntl_sigwaitinfo(INTERNAL_FUNCTION_PARAMETERS, int timedwait) /* {{ } /* }}} */ -/* {{{ proto int sigwaitinfo(array set[, array &siginfo]) +/* {{{ proto int pcnlt_sigwaitinfo(array set[, array &siginfo]) Synchronously wait for queued signals */ PHP_FUNCTION(pcntl_sigwaitinfo) { @@ -902,7 +907,7 @@ PHP_FUNCTION(pcntl_sigwaitinfo) } /* }}} */ -/* {{{ proto int sigtimedwait(array set[, array &siginfo[, int seconds[, int nanoseconds]]]) +/* {{{ proto int pcntl_sigtimedwait(array set[, array &siginfo[, int seconds[, int nanoseconds]]]) Wait for queued signals */ PHP_FUNCTION(pcntl_sigtimedwait) { diff --git a/ext/pcntl/php_pcntl.h b/ext/pcntl/php_pcntl.h index 2b957222c5..5dcd4e74d1 100644 --- a/ext/pcntl/php_pcntl.h +++ b/ext/pcntl/php_pcntl.h @@ -21,9 +21,6 @@ #ifndef PHP_PCNTL_H #define PHP_PCNTL_H -#include <sys/wait.h> -#include "php_signal.h" -#include "php_ticks.h" extern zend_module_entry pcntl_module_entry; #define phpext_pcntl_ptr &pcntl_module_entry diff --git a/ext/pcntl/php_signal.c b/ext/pcntl/php_signal.c index 459a2d78f0..daedeb4048 100644 --- a/ext/pcntl/php_signal.c +++ b/ext/pcntl/php_signal.c @@ -24,7 +24,6 @@ * in the Unix Environment by W. Richard Stevens p 298. */ Sigfunc *php_signal(int signo, Sigfunc *func, int restart) { - struct sigaction act,oact; act.sa_handler = func; sigemptyset(&act.sa_mask); @@ -44,3 +43,11 @@ Sigfunc *php_signal(int signo, Sigfunc *func, int restart) return oact.sa_handler; } +/* + * Local variables: + * tab-width: 4 + * c-basic-offset: 4 + * End: + * vim600: noet sw=4 ts=4 fdm=marker + * vim<600: noet sw=4 ts=4 + */ diff --git a/ext/pcntl/tests/001.phpt b/ext/pcntl/tests/001.phpt index 74c529124b..d83cae4468 100644 --- a/ext/pcntl/tests/001.phpt +++ b/ext/pcntl/tests/001.phpt @@ -3,7 +3,7 @@ Test pcntl wait functionality --SKIPIF-- <?php if (!extension_loaded("pcntl")) print "skip"; - if (!function_exists("posix_kill")) print "skip posix_kill() not available"; + elseif (!function_exists("posix_kill")) print "skip posix_kill() not available"; ?> --FILE-- <?php diff --git a/ext/pcntl/tests/002.phpt b/ext/pcntl/tests/002.phpt index 3d06d5e437..9ea7cf9bb1 100644 --- a/ext/pcntl/tests/002.phpt +++ b/ext/pcntl/tests/002.phpt @@ -2,8 +2,8 @@ pcntl: pcntl_sigprocmask(), pcntl_sigwaitinfo(), pcntl_sigtimedwait() --SKIPIF-- <?php -if (!extension_loaded('pcntl')) die('skip pcntl extension not available'); -if (!extension_loaded('posix')) die('skip posix extension not available'); + if (!extension_loaded('pcntl')) die('skip pcntl extension not available'); + elseif (!extension_loaded('posix')) die('skip posix extension not available'); ?> --FILE-- <?php diff --git a/ext/pcntl/tests/pcntl_signal_dispatch.phpt b/ext/pcntl/tests/pcntl_signal_dispatch.phpt index 82e0a78f15..acf6cc05e1 100644 --- a/ext/pcntl/tests/pcntl_signal_dispatch.phpt +++ b/ext/pcntl/tests/pcntl_signal_dispatch.phpt @@ -3,10 +3,10 @@ pcnt_signal_dispatch() --SKIPIF-- <?php if (!extension_loaded("pcntl")) print "skip"; - if (!function_exists("pcntl_signal")) print "skip pcntl_signal() not available"; - if (!function_exists("pcntl_signal_dispatch")) print "skip pcntl_signal_dispatch() not available"; - if (!function_exists("posix_kill")) print "skip posix_kill() not available"; - if (!function_exists("posix_getpid")) print "skip posix_getpid() not available"; + elseif (!function_exists("pcntl_signal")) print "skip pcntl_signal() not available"; + elseif (!function_exists("pcntl_signal_dispatch")) print "skip pcntl_signal_dispatch() not available"; + elseif (!function_exists("posix_kill")) print "skip posix_kill() not available"; + elseif (!function_exists("posix_getpid")) print "skip posix_getpid() not available"; ?> --FILE-- <?php diff --git a/ext/pcntl/tests/signal_closure_handler.phpt b/ext/pcntl/tests/signal_closure_handler.phpt index 4bcac1193a..84147b5ba2 100755 --- a/ext/pcntl/tests/signal_closure_handler.phpt +++ b/ext/pcntl/tests/signal_closure_handler.phpt @@ -3,9 +3,9 @@ Closures as a signal handler --SKIPIF-- <?php if (!extension_loaded("pcntl")) print "skip"; - if (!function_exists("pcntl_signal")) print "skip pcntl_signal() not available"; - if (!function_exists("posix_kill")) print "skip posix_kill() not available"; - if (!function_exists("posix_getpid")) print "skip posix_getpid() not available"; + elseif (!function_exists("pcntl_signal")) print "skip pcntl_signal() not available"; + elseif (!function_exists("posix_kill")) print "skip posix_kill() not available"; + elseif (!function_exists("posix_getpid")) print "skip posix_getpid() not available"; ?> --FILE-- <?php |