[ --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
#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
#ifdef SIGCHLD
case SIGCHLD:
add_ascii_assoc_long_ex(user_siginfo, "status", sizeof("status"), siginfo.si_status);
-#ifdef si_utime
+# ifdef si_utime
add_ascii_assoc_double_ex(user_siginfo, "utime", sizeof("utime"), siginfo.si_utime);
-#endif
-#ifdef si_stime
+# endif
+# ifdef si_stime
add_ascii_assoc_double_ex(user_siginfo, "stime", sizeof("stime"), siginfo.si_stime);
-#endif
+# endif
add_ascii_assoc_long_ex(user_siginfo, "pid", sizeof("pid"), siginfo.si_pid);
add_ascii_assoc_long_ex(user_siginfo, "uid", sizeof("uid"), siginfo.si_uid);
break;
#ifdef SIGPOLL
case SIGPOLL:
add_ascii_assoc_long_ex(user_siginfo, "band", sizeof("band"), siginfo.si_band);
+#ifdef si_fd
add_ascii_assoc_long_ex(user_siginfo, "fd", sizeof("fd"), siginfo.si_fd);
+#endif
break;
#endif
EMPTY_SWITCH_DEFAULT_CASE();
}
/* }}} */
-/* {{{ proto int sigwaitinfo(array set[, array &siginfo])
+/* {{{ proto int pcnlt_sigwaitinfo(array set[, array &siginfo])
Synchronously wait for queued signals */
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)
{
#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
* 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);
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
+ */
--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
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
--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
--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