Fix opcache optimizer info for time_nanosleep
authorTyson Andre <tysonandre775@hotmail.com>
Sun, 25 Aug 2019 14:48:52 +0000 (10:48 -0400)
committerNikita Popov <nikita.ppv@gmail.com>
Mon, 26 Aug 2019 09:13:26 +0000 (11:13 +0200)
commitf5bccc0eb5bfe2b1c9ba55cf1df27f2a18a046fa
treeef42b21c4b4de8775b3e33cb00bea043ce19af69
parent16d35eb643bf974554e5264021ee10fc969e2053
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
ext/opcache/Optimizer/zend_func_info.c