From 91b6b21434895a52b303687b69dac9544a33ce78 Mon Sep 17 00:00:00 2001 From: matyhtf Date: Fri, 17 Jul 2015 14:02:51 +0800 Subject: [PATCH] update async_master.php. --- examples/process/async_master.php | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/examples/process/async_master.php b/examples/process/async_master.php index a5fffec0314..c51cc12f902 100644 --- a/examples/process/async_master.php +++ b/examples/process/async_master.php @@ -8,16 +8,7 @@ function onReceive($pipe) { global $workers; $worker = $workers[$pipe]; $data = $worker->read(); - if ($data == false) - { - //表示子进程已关闭,回收它 - $status = swoole_process::wait(); - echo "Worker#{$status['pid']} exit\n"; - } - else - { - echo "RECV: ".$data; - } + echo "RECV: " . $data; } //循环创建进程 @@ -37,6 +28,12 @@ function onReceive($pipe) { $workers[$process->pipe] = $process; } +swoole_process::signal(SIGCHLD, function(){ + //表示子进程已关闭,回收它 + $status = swoole_process::wait(); + echo "Worker#{$status['pid']} exit\n"; +}); + //将子进程的管道加入EventLoop foreach($workers as $process) {