Browse Source

Support Worker::$onMasterStop callback

walkor 9 years ago
parent
commit
cd23eadedc
1 changed files with 17 additions and 7 deletions
  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);
     }