mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Add wifcontinued and wcontinued for pcntl
This commit is contained in:
parent
56b0ff0e5d
commit
90114a3e93
2 changed files with 36 additions and 1 deletions
|
@ -96,6 +96,12 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_pcntl_wifstopped, 0, 0, 1)
|
|||
ZEND_ARG_INFO(0, status)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
||||
#ifdef HAVE_WCONTINUED
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_pcntl_wifcontinued, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, status)
|
||||
ZEND_END_ARG_INFO()
|
||||
#endif
|
||||
|
||||
ZEND_BEGIN_ARG_INFO_EX(arginfo_pcntl_wifsignaled, 0, 0, 1)
|
||||
ZEND_ARG_INFO(0, status)
|
||||
ZEND_END_ARG_INFO()
|
||||
|
@ -158,7 +164,7 @@ const zend_function_entry pcntl_functions[] = {
|
|||
PHP_FE(pcntl_alarm, arginfo_pcntl_alarm)
|
||||
PHP_FE(pcntl_get_last_error, arginfo_pcntl_void)
|
||||
PHP_FALIAS(pcntl_errno, pcntl_get_last_error, NULL)
|
||||
PHP_FE(pcntl_strerror, arginfo_pcntl_strerror)
|
||||
PHP_FE(pcntl_strerror, arginfo_pcntl_strerror)
|
||||
#ifdef HAVE_GETPRIORITY
|
||||
PHP_FE(pcntl_getpriority, arginfo_pcntl_getpriority)
|
||||
#endif
|
||||
|
@ -171,6 +177,9 @@ const zend_function_entry pcntl_functions[] = {
|
|||
#if HAVE_SIGWAITINFO && HAVE_SIGTIMEDWAIT
|
||||
PHP_FE(pcntl_sigwaitinfo, arginfo_pcntl_sigwaitinfo)
|
||||
PHP_FE(pcntl_sigtimedwait, arginfo_pcntl_sigtimedwait)
|
||||
#endif
|
||||
#ifdef HAVE_WCONTINUED
|
||||
PHP_FE(pcntl_wifcontinued, arginfo_pcntl_wifcontinued)
|
||||
#endif
|
||||
PHP_FE_END
|
||||
};
|
||||
|
@ -209,6 +218,9 @@ void php_register_signal_constants(INIT_FUNC_ARGS)
|
|||
#ifdef WUNTRACED
|
||||
REGISTER_LONG_CONSTANT("WUNTRACED", (zend_long) WUNTRACED, CONST_CS | CONST_PERSISTENT);
|
||||
#endif
|
||||
#ifdef HAVE_WCONTINUED
|
||||
REGISTER_LONG_CONSTANT("WCONTINUED", (zend_long) WCONTINUED, CONST_CS | CONST_PERSISTENT);
|
||||
#endif
|
||||
|
||||
/* Signal Constants */
|
||||
REGISTER_LONG_CONSTANT("SIG_IGN", (zend_long) SIG_IGN, CONST_CS | CONST_PERSISTENT);
|
||||
|
@ -681,6 +693,24 @@ PHP_FUNCTION(pcntl_wifsignaled)
|
|||
RETURN_FALSE;
|
||||
}
|
||||
/* }}} */
|
||||
/* {{{ proto bool pcntl_wifcontinued(int status)
|
||||
Returns true if the child status code represents a process that was resumed due to a SIGCONT signal */
|
||||
PHP_FUNCTION(pcntl_wifcontinued)
|
||||
{
|
||||
#ifdef HAVE_WCONTINUED
|
||||
zend_long status_word;
|
||||
|
||||
if (zend_parse_parameters(ZEND_NUM_ARGS(), "l", &status_word) == FAILURE) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (WIFCONTINUED(status_word))
|
||||
RETURN_TRUE;
|
||||
#endif
|
||||
RETURN_FALSE;
|
||||
}
|
||||
/* }}} */
|
||||
|
||||
|
||||
/* {{{ proto int pcntl_wexitstatus(int status)
|
||||
Returns the status code of a child's exit */
|
||||
|
|
|
@ -21,6 +21,8 @@
|
|||
#ifndef PHP_PCNTL_H
|
||||
#define PHP_PCNTL_H
|
||||
|
||||
#define HAVE_WCONTINUED defined(WCONTINUED) && defined (WIFCONTINUED)
|
||||
|
||||
extern zend_module_entry pcntl_module_entry;
|
||||
#define phpext_pcntl_ptr &pcntl_module_entry
|
||||
|
||||
|
@ -37,6 +39,9 @@ PHP_FUNCTION(pcntl_wait);
|
|||
PHP_FUNCTION(pcntl_wifexited);
|
||||
PHP_FUNCTION(pcntl_wifstopped);
|
||||
PHP_FUNCTION(pcntl_wifsignaled);
|
||||
#ifdef HAVE_WCONTINUED
|
||||
PHP_FUNCTION(pcntl_wifcontinued);
|
||||
#endif
|
||||
PHP_FUNCTION(pcntl_wexitstatus);
|
||||
PHP_FUNCTION(pcntl_wtermsig);
|
||||
PHP_FUNCTION(pcntl_wstopsig);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue