1--TEST-- 2pcntl_waitpid() and rusage 3--SKIPIF-- 4<?php if (!extension_loaded("pcntl")) print "skip"; ?> 5<?php if (!extension_loaded("posix")) die("skip posix extension not available"); ?> 6--FILE-- 7<?php 8$pid = pcntl_fork(); 9if ($pid == -1) { 10 die("failed"); 11} else if ($pid) { 12 $status = 0; 13 var_dump(pcntl_waitpid($pid, $status, WUNTRACED, $rusage)); 14 var_dump($rusage['ru_utime.tv_sec']); 15 var_dump($rusage['ru_utime.tv_usec']); 16 17 posix_kill($pid, SIGCONT); 18 19 $rusage = array(1,2,3); 20 pcntl_waitpid($pid, $status, WUNTRACED, $rusage); 21 var_dump($rusage['ru_utime.tv_sec']); 22 var_dump($rusage['ru_utime.tv_usec']); 23 24 $rusage = "string"; 25 pcntl_waitpid($pid, $status, 0, $rusage); 26 var_dump(gettype($rusage)); 27 var_dump(count($rusage)); 28 29 $rusage = new stdClass; 30 pcntl_waitpid($pid, $status, 0, $rusage); 31 var_dump(gettype($rusage)); 32 var_dump(count($rusage)); 33 34 echo "END\n"; 35} else { 36 posix_kill(posix_getpid(), SIGSTOP); 37 exit(42); 38} 39?> 40--EXPECTF-- 41int(%d) 42int(%d) 43int(%d) 44int(%d) 45int(%d) 46string(5) "array" 47int(0) 48string(5) "array" 49int(0) 50END 51