ID: 38796 Updated by: [EMAIL PROTECTED] Reported By: fiw at mail dot ru -Status: Open +Status: Feedback Bug Type: PCNTL related Operating System: FreeBSD 6.1 PHP Version: 5.1.6 New Comment:
What do you want me to check? Care to describe what's your problem with some more words. Previous Comments: ------------------------------------------------------------------------ [2006-09-12 19:03:36] fiw at mail dot ru I check this code on Cygwin with PHP 5.1.4 and have similar result. ------------------------------------------------------------------------ [2006-09-12 18:49:54] fiw at mail dot ru Tony, it's real not bogus! Check it! ------------------------------------------------------------------------ [2006-09-12 18:39:54] [EMAIL PROTECTED] . ------------------------------------------------------------------------ [2006-09-12 18:28:49] fiw at mail dot ru Description: ------------ No descriptions, sorry. Reproduce code: --------------- <?php declare(ticks = 1); class Daemon { private $threads = array(); function __construct() { echo posix_getpid() . ' Daemon::construct()' . "\n"; for ($i = 0; $i < 5; $i++) $threads[] = new Thread; } function __destruct() { echo posix_getpid() . ' Daemon::destruct()' . "\n"; } } class Thread { function __construct() { echo posix_getpid() . ' Thread::construct()' . "\n"; $this->pid = pcntl_fork(); if ($this->pid == -1) throw new Exception; if ($this->pid) { pcntl_wait($status); return; } echo posix_getpid() . ' Thread::child()' . "\n"; exit; } function __destruct() { echo posix_getpid() . ' Thread::destruct()' . "\n"; } } new Daemon; ?> Expected result: ---------------- 77080 Daemon::construct() 77080 Thread::construct() 77081 Thread::child() 77081 Daemon::destruct() 77081 Thread::destruct() 77080 Thread::construct() 77082 Thread::child() 77082 Daemon::destruct() 77082 Thread::destruct() 77082 Thread::destruct() 77080 Thread::construct() 77083 Thread::child() 77083 Daemon::destruct() 77083 Thread::destruct() 77083 Thread::destruct() 77083 Thread::destruct() 77080 Thread::construct() 77084 Thread::child() 77084 Daemon::destruct() 77084 Thread::destruct() 77084 Thread::destruct() 77084 Thread::destruct() 77084 Thread::destruct() 77080 Thread::construct() 77085 Thread::child() 77085 Daemon::destruct() 77085 Thread::destruct() 77085 Thread::destruct() 77085 Thread::destruct() 77085 Thread::destruct() 77085 Thread::destruct() 77080 Thread::destruct() 77080 Thread::destruct() 77080 Thread::destruct() 77080 Thread::destruct() 77080 Thread::destruct() 77080 Daemon::destruct() Actual result: -------------- 77080 Daemon::construct() 77080 Thread::construct() 77081 Thread::child() 77080 Thread::construct() 77082 Thread::child() 77080 Thread::construct() 77083 Thread::child() 77080 Thread::construct() 77084 Thread::child() 77080 Thread::construct() 77085 Thread::child() 77080 Thread::destruct() 77080 Thread::destruct() 77080 Thread::destruct() 77080 Thread::destruct() 77080 Thread::destruct() 77080 Daemon::destruct() ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=38796&edit=1