浏览代码

Support Worker::$onMasterStop callback

walkor 9 年之前
父节点
当前提交
cd23eadedc
共有 1 个文件被更改,包括 17 次插入7 次删除
  1. 17 7
      Worker.php

+ 17 - 7
Worker.php

@@ -190,13 +190,6 @@ class Worker
     public $onWorkerStop = null;
 
     /**
-     * Emitted when the master process get reload signal.
-     *
-     * @var callback
-     */
-    public static $onMasterReload = null;
-
-    /**
      * Emitted when worker processes get reload signal.
      *
      * @var callback
@@ -267,6 +260,20 @@ class Worker
     public static $globalEvent = null;
 
     /**
+     * Emitted when the master process get reload signal.
+     *
+     * @var callback
+     */
+    public static $onMasterReload = null;
+
+    /**
+     * Emitted when the master process terminated.
+     *
+     * @var callback
+     */
+    public static $onMasterStop = null;
+
+    /**
      * The PID of master process.
      *
      * @var int
@@ -1080,6 +1087,9 @@ class Worker
         }
         @unlink(self::$pidFile);
         self::log("Workerman[" . basename(self::$_startFile) . "] has been stopped");
+        if (self::$onMasterStop) {
+            call_user_func(self::$onMasterStop);
+        }
         exit(0);
     }