From 1a5a113f95cae686f804e2e484f20f128cf3f33d Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Tue, 19 Aug 2014 19:08:41 +0200 Subject: [PATCH] ported pcntl --- ext/pcntl/pcntl.c | 158 +++++++++++++++++++++--------------------- ext/pcntl/php_pcntl.h | 2 +- 2 files changed, 80 insertions(+), 80 deletions(-) diff --git a/ext/pcntl/pcntl.c b/ext/pcntl/pcntl.c index d21328023e..e8dac07ead 100644 --- a/ext/pcntl/pcntl.c +++ b/ext/pcntl/pcntl.c @@ -204,64 +204,64 @@ void php_register_signal_constants(INIT_FUNC_ARGS) /* Wait Constants */ #ifdef WNOHANG - REGISTER_INT_CONSTANT("WNOHANG", (long) WNOHANG, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("WNOHANG", (php_int_t) WNOHANG, CONST_CS | CONST_PERSISTENT); #endif #ifdef WUNTRACED - REGISTER_INT_CONSTANT("WUNTRACED", (long) WUNTRACED, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("WUNTRACED", (php_int_t) WUNTRACED, CONST_CS | CONST_PERSISTENT); #endif /* Signal Constants */ - REGISTER_INT_CONSTANT("SIG_IGN", (long) SIG_IGN, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIG_DFL", (long) SIG_DFL, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIG_ERR", (long) SIG_ERR, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGHUP", (long) SIGHUP, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGINT", (long) SIGINT, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGQUIT", (long) SIGQUIT, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGILL", (long) SIGILL, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGTRAP", (long) SIGTRAP, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGABRT", (long) SIGABRT, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIG_IGN", (php_int_t) SIG_IGN, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIG_DFL", (php_int_t) SIG_DFL, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIG_ERR", (php_int_t) SIG_ERR, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGHUP", (php_int_t) SIGHUP, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGINT", (php_int_t) SIGINT, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGQUIT", (php_int_t) SIGQUIT, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGILL", (php_int_t) SIGILL, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGTRAP", (php_int_t) SIGTRAP, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGABRT", (php_int_t) SIGABRT, CONST_CS | CONST_PERSISTENT); #ifdef SIGIOT - REGISTER_INT_CONSTANT("SIGIOT", (long) SIGIOT, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_INT_CONSTANT("SIGBUS", (long) SIGBUS, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGFPE", (long) SIGFPE, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGKILL", (long) SIGKILL, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGUSR1", (long) SIGUSR1, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGSEGV", (long) SIGSEGV, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGUSR2", (long) SIGUSR2, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGPIPE", (long) SIGPIPE, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGALRM", (long) SIGALRM, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGTERM", (long) SIGTERM, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGIOT", (php_int_t) SIGIOT, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_INT_CONSTANT("SIGBUS", (php_int_t) SIGBUS, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGFPE", (php_int_t) SIGFPE, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGKILL", (php_int_t) SIGKILL, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGUSR1", (php_int_t) SIGUSR1, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGSEGV", (php_int_t) SIGSEGV, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGUSR2", (php_int_t) SIGUSR2, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGPIPE", (php_int_t) SIGPIPE, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGALRM", (php_int_t) SIGALRM, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGTERM", (php_int_t) SIGTERM, CONST_CS | CONST_PERSISTENT); #ifdef SIGSTKFLT - REGISTER_INT_CONSTANT("SIGSTKFLT",(long) SIGSTKFLT, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGSTKFLT",(php_int_t) SIGSTKFLT, CONST_CS | CONST_PERSISTENT); #endif #ifdef SIGCLD - REGISTER_INT_CONSTANT("SIGCLD", (long) SIGCLD, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGCLD", (php_int_t) SIGCLD, CONST_CS | CONST_PERSISTENT); #endif #ifdef SIGCHLD - REGISTER_INT_CONSTANT("SIGCHLD", (long) SIGCHLD, CONST_CS | CONST_PERSISTENT); -#endif - REGISTER_INT_CONSTANT("SIGCONT", (long) SIGCONT, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGSTOP", (long) SIGSTOP, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGTSTP", (long) SIGTSTP, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGTTIN", (long) SIGTTIN, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGTTOU", (long) SIGTTOU, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGURG", (long) SIGURG , CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGXCPU", (long) SIGXCPU, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGXFSZ", (long) SIGXFSZ, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGVTALRM",(long) SIGVTALRM, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGPROF", (long) SIGPROF, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGWINCH", (long) SIGWINCH, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGCHLD", (php_int_t) SIGCHLD, CONST_CS | CONST_PERSISTENT); +#endif + REGISTER_INT_CONSTANT("SIGCONT", (php_int_t) SIGCONT, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGSTOP", (php_int_t) SIGSTOP, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGTSTP", (php_int_t) SIGTSTP, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGTTIN", (php_int_t) SIGTTIN, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGTTOU", (php_int_t) SIGTTOU, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGURG", (php_int_t) SIGURG , CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGXCPU", (php_int_t) SIGXCPU, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGXFSZ", (php_int_t) SIGXFSZ, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGVTALRM",(php_int_t) SIGVTALRM, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGPROF", (php_int_t) SIGPROF, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGWINCH", (php_int_t) SIGWINCH, CONST_CS | CONST_PERSISTENT); #ifdef SIGPOLL - REGISTER_INT_CONSTANT("SIGPOLL", (long) SIGPOLL, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGPOLL", (php_int_t) SIGPOLL, CONST_CS | CONST_PERSISTENT); #endif - REGISTER_INT_CONSTANT("SIGIO", (long) SIGIO, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGIO", (php_int_t) SIGIO, CONST_CS | CONST_PERSISTENT); #ifdef SIGPWR - REGISTER_INT_CONSTANT("SIGPWR", (long) SIGPWR, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGPWR", (php_int_t) SIGPWR, CONST_CS | CONST_PERSISTENT); #endif #ifdef SIGSYS - REGISTER_INT_CONSTANT("SIGSYS", (long) SIGSYS, CONST_CS | CONST_PERSISTENT); - REGISTER_INT_CONSTANT("SIGBABY", (long) SIGSYS, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGSYS", (php_int_t) SIGSYS, CONST_CS | CONST_PERSISTENT); + REGISTER_INT_CONSTANT("SIGBABY", (php_int_t) SIGSYS, CONST_CS | CONST_PERSISTENT); #endif #if HAVE_GETPRIORITY || HAVE_SETPRIORITY @@ -556,12 +556,12 @@ PHP_FUNCTION(pcntl_fork) Set an alarm clock for delivery of a signal*/ PHP_FUNCTION(pcntl_alarm) { - long seconds; + php_int_t seconds; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &seconds) == FAILURE) + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i", &seconds) == FAILURE) return; - RETURN_INT ((long) alarm(seconds)); + RETURN_INT ((php_int_t) alarm(seconds)); } /* }}} */ @@ -569,12 +569,12 @@ PHP_FUNCTION(pcntl_alarm) Waits on or returns the status of a forked child as defined by the waitpid() system call */ PHP_FUNCTION(pcntl_waitpid) { - long pid, options = 0; + php_int_t pid, options = 0; zval *z_status = NULL; int status; pid_t child_id; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lz/|l", &pid, &z_status, &options) == FAILURE) + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "iz/|i", &pid, &z_status, &options) == FAILURE) return; convert_to_int_ex(z_status); @@ -589,7 +589,7 @@ PHP_FUNCTION(pcntl_waitpid) Z_IVAL_P(z_status) = status; - RETURN_INT((long) child_id); + RETURN_INT((php_int_t) child_id); } /* }}} */ @@ -597,12 +597,12 @@ PHP_FUNCTION(pcntl_waitpid) Waits on or returns the status of a forked child as defined by the waitpid() system call */ PHP_FUNCTION(pcntl_wait) { - long options = 0; + php_int_t options = 0; zval *z_status = NULL; int status; pid_t child_id; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z/|l", &z_status, &options) == FAILURE) + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z/|i", &z_status, &options) == FAILURE) return; convert_to_int_ex(z_status); @@ -624,7 +624,7 @@ PHP_FUNCTION(pcntl_wait) Z_IVAL_P(z_status) = status; - RETURN_INT((long) child_id); + RETURN_INT((php_int_t) child_id); } /* }}} */ @@ -633,9 +633,9 @@ PHP_FUNCTION(pcntl_wait) PHP_FUNCTION(pcntl_wifexited) { #ifdef WIFEXITED - long status_word; + php_int_t status_word; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &status_word) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i", &status_word) == FAILURE) { return; } @@ -651,9 +651,9 @@ PHP_FUNCTION(pcntl_wifexited) PHP_FUNCTION(pcntl_wifstopped) { #ifdef WIFSTOPPED - long status_word; + php_int_t status_word; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &status_word) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i", &status_word) == FAILURE) { return; } @@ -669,9 +669,9 @@ PHP_FUNCTION(pcntl_wifstopped) PHP_FUNCTION(pcntl_wifsignaled) { #ifdef WIFSIGNALED - long status_word; + php_int_t status_word; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &status_word) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i", &status_word) == FAILURE) { return; } @@ -687,9 +687,9 @@ PHP_FUNCTION(pcntl_wifsignaled) PHP_FUNCTION(pcntl_wexitstatus) { #ifdef WEXITSTATUS - long status_word; + php_int_t status_word; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &status_word) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i", &status_word) == FAILURE) { return; } @@ -705,9 +705,9 @@ PHP_FUNCTION(pcntl_wexitstatus) PHP_FUNCTION(pcntl_wtermsig) { #ifdef WTERMSIG - long status_word; + php_int_t status_word; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &status_word) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i", &status_word) == FAILURE) { return; } @@ -723,7 +723,7 @@ PHP_FUNCTION(pcntl_wtermsig) PHP_FUNCTION(pcntl_wstopsig) { #ifdef WSTOPSIG - long status_word; + php_int_t status_word; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &status_word) == FAILURE) { return; @@ -751,7 +751,7 @@ PHP_FUNCTION(pcntl_exec) zend_string *key; char *path; int path_len; - ulong key_num; + php_uint_t key_num; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|aa", &path, &path_len, &args, &envs) == FAILURE) { return; @@ -837,7 +837,7 @@ PHP_FUNCTION(pcntl_signal) { zval *handle; zend_string *func_name; - long signo; + php_int_t signo; zend_bool restart_syscalls = 1; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "lz|b", &signo, &handle, &restart_syscalls) == FAILURE) { @@ -864,7 +864,7 @@ PHP_FUNCTION(pcntl_signal) /* Special long value case for SIG_DFL and SIG_IGN */ if (Z_TYPE_P(handle) == IS_INT) { - if (Z_IVAL_P(handle) != (long) SIG_DFL && Z_IVAL_P(handle) != (long) SIG_IGN) { + if (Z_IVAL_P(handle) != (php_int_t) SIG_DFL && Z_IVAL_P(handle) != (php_int_t) SIG_IGN) { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid value for handle argument specified"); RETURN_FALSE; } @@ -912,11 +912,11 @@ PHP_FUNCTION(pcntl_signal_dispatch) Examine and change blocked signals */ PHP_FUNCTION(pcntl_sigprocmask) { - long how, signo; + php_int_t how, signo; zval *user_set, *user_oldset = NULL, *user_signo; sigset_t set, oldset; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "la|z/", &how, &user_set, &user_oldset) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ia|z/", &how, &user_set, &user_oldset) == FAILURE) { return; } @@ -969,14 +969,14 @@ PHP_FUNCTION(pcntl_sigprocmask) static void pcntl_sigwaitinfo(INTERNAL_FUNCTION_PARAMETERS, int timedwait) /* {{{ */ { zval *user_set, *user_signo, *user_siginfo = NULL; - long tv_sec = 0, tv_nsec = 0; + php_int_t tv_sec = 0, tv_nsec = 0; sigset_t set; int signo; siginfo_t siginfo; struct timespec timeout; if (timedwait) { - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|z/ll", &user_set, &user_siginfo, &tv_sec, &tv_nsec) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "a|z/ii", &user_set, &user_siginfo, &tv_sec, &tv_nsec) == FAILURE) { return; } } else { @@ -1052,7 +1052,7 @@ static void pcntl_sigwaitinfo(INTERNAL_FUNCTION_PARAMETERS, int timedwait) /* {{ case SIGFPE: case SIGSEGV: case SIGBUS: - add_assoc_double_ex(user_siginfo, "addr", sizeof("addr")-1, (long)siginfo.si_addr); + add_assoc_double_ex(user_siginfo, "addr", sizeof("addr")-1, (php_int_t)siginfo.si_addr); break; #ifdef SIGPOLL case SIGPOLL: @@ -1091,11 +1091,11 @@ PHP_FUNCTION(pcntl_sigtimedwait) Get the priority of any process */ PHP_FUNCTION(pcntl_getpriority) { - long who = PRIO_PROCESS; - long pid = getpid(); + php_int_t who = PRIO_PROCESS; + php_int_t pid = getpid(); int pri; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|ll", &pid, &who) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|ii", &pid, &who) == FAILURE) { RETURN_FALSE; } @@ -1130,11 +1130,11 @@ PHP_FUNCTION(pcntl_getpriority) Change the priority of any process */ PHP_FUNCTION(pcntl_setpriority) { - long who = PRIO_PROCESS; - long pid = getpid(); - long pri; + php_int_t who = PRIO_PROCESS; + php_int_t pid = getpid(); + php_int_t pri; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l|ll", &pri, &pid, &who) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i|ii", &pri, &pid, &who) == FAILURE) { RETURN_FALSE; } @@ -1177,9 +1177,9 @@ PHP_FUNCTION(pcntl_get_last_error) Retrieve the system error message associated with the given errno. */ PHP_FUNCTION(pcntl_strerror) { - long error; + php_int_t error; - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "l", &error) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "i", &error) == FAILURE) { RETURN_FALSE; } diff --git a/ext/pcntl/php_pcntl.h b/ext/pcntl/php_pcntl.h index 7b9ad93801..ed1811f5d6 100644 --- a/ext/pcntl/php_pcntl.h +++ b/ext/pcntl/php_pcntl.h @@ -61,7 +61,7 @@ PHP_FUNCTION(pcntl_setpriority); struct php_pcntl_pending_signal { struct php_pcntl_pending_signal *next; - long signo; + php_int_t signo; }; ZEND_BEGIN_MODULE_GLOBALS(pcntl) -- 2.40.0