summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTyson Andre <tysonandre775@hotmail.com>2019-08-25 10:48:52 -0400
committerNikita Popov <nikita.ppv@gmail.com>2019-08-26 11:13:26 +0200
commitf5bccc0eb5bfe2b1c9ba55cf1df27f2a18a046fa (patch)
treeef42b21c4b4de8775b3e33cb00bea043ce19af69
parent16d35eb643bf974554e5264021ee10fc969e2053 (diff)
downloadphp-git-f5bccc0eb5bfe2b1c9ba55cf1df27f2a18a046fa.tar.gz
Fix opcache optimizer info for time_nanosleep
This can also return an array. See https://www.php.net/manual/en/function.time-nanosleep.php#refsect1-function.time-nanosleep-returnvalues > If the delay was interrupted by a signal, an associative array will be returned with the components: > > - seconds - number of seconds remaining in the delay > - nanoseconds - number of nanoseconds remaining in the delay Sending a SIGUSR1 to the below program would trigger this behavior. ``` pcntl_signal(\SIGUSR1, function ($signo, $signinfo) { echo "Handling a signal $signo\n"; }); echo "Sleeping for 100 seconds\n"; var_export(time_nanosleep(100, 0)); ``` The incomplete signature existed since c88ffa9a5. No phpt tests existed for time_nanosleep returning an array
-rw-r--r--ext/opcache/Optimizer/zend_func_info.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/ext/opcache/Optimizer/zend_func_info.c b/ext/opcache/Optimizer/zend_func_info.c
index b32a954c1f..7f08104743 100644
--- a/ext/opcache/Optimizer/zend_func_info.c
+++ b/ext/opcache/Optimizer/zend_func_info.c
@@ -277,7 +277,7 @@ static const func_info_t func_infos[] = {
F0("sleep", MAY_BE_FALSE | MAY_BE_LONG),
F0("usleep", MAY_BE_NULL | MAY_BE_FALSE),
#if HAVE_NANOSLEEP
- F0("time_nanosleep", MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
+ F0("time_nanosleep", MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE | MAY_BE_ARRAY | MAY_BE_ARRAY_KEY_STRING | MAY_BE_ARRAY_OF_LONG),
F0("time_sleep_until", MAY_BE_NULL | MAY_BE_FALSE | MAY_BE_TRUE),
#endif
#if HAVE_STRPTIME