Bug #73783 [Com]: pcntl_signal() issue

From: Date: Mon, 19 Dec 2016 10:30:55 +0000
Subject: Bug #73783 [Com]: pcntl_signal() issue
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-206128@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=73783&edit=1 ID: 73783 Comment by: zorg at razza dot org Reported by: zorg at razza dot org Summary: pcntl_signal() issue Status: Open Type: Bug Package: *General Issues Operating System: Ubuntu 16.04.1 LTS PHP Version: 7.1.0 Block user comment: N Private report: N New Comment: Sorry, the test script is incorrect. It should be: pcntl_signal(SIGCHLD, SIG_IGN); $pid = @pcntl_fork(); if ($pid == -1) { exit(pcntl_get_last_error() . ': ' . pcntl_strerror(pcntl_get_last_error())); } elseif ($pid == 0) { exit(); } sleep(60); exit("Done"); This also creates a <defunct> process when pcntl_signal(SIGCHLD, SIG_IGN) should have removed it. Previous Comments: ------------------------------------------------------------------------ [2016-12-19 10:25:14] zorg at razza dot org Description: ------------ The use of pcntl_signal(SIGCHLD, SIG_IGN) breaks sleep(). In 7.0 the below script would sleep for 60 seconds then exit, in 7.1 the script does not sleep at all. Test script: --------------- pcntl_signal(SIGCHLD, SIG_IGN); sleep(60); exit('Done'); Expected result: ---------------- Sleep for 60 seconds, print 'Done' and exit. Actual result: -------------- Instantly prints 'Done' and exist. ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=73783&edit=1

« previous php.bugs (#206128) next »