procd: fire events at instance respawn and failure
[project/procd.git] / service / instance.c
index d7d1f82..b783966 100644 (file)
@@ -526,7 +526,9 @@ instance_exit(struct uloop_process *p, int ret)
                                                                in->srv->name, in->name, in->respawn_count, runtime);
                        in->restart = in->respawn = 0;
                        in->halt = 1;
+                       service_event("instance.fail", in->srv->name, in->name);
                } else {
+                       service_event("instance.respawn", in->srv->name, in->name);
                        uloop_timeout_set(&in->timeout, in->respawn_timeout * 1000);
                }
        }
@@ -541,7 +543,6 @@ instance_stop(struct service_instance *in)
        in->halt = true;
        in->restart = in->respawn = false;
        kill(in->proc.pid, SIGTERM);
-       instance_removepid(in);
 }
 
 static void