chiark / gitweb /
service: don't wait for any child unless we no its pid
authorLennart Poettering <lennart@poettering.net>
Sat, 24 Apr 2010 00:05:42 +0000 (02:05 +0200)
committerLennart Poettering <lennart@poettering.net>
Sat, 24 Apr 2010 00:05:42 +0000 (02:05 +0200)
service.c
socket.c

index 40a02c1..83a11e9 100644 (file)
--- a/service.c
+++ b/service.c
@@ -1413,7 +1413,7 @@ static void service_enter_signal(Service *s, ServiceState state, bool success) {
                 }
         }
 
-        if (sent) {
+        if (sent && (s->main_pid > 0 || s->control_pid > 0)) {
                 if (s->timeout_usec > 0)
                         if ((r = unit_watch_timer(UNIT(s), s->timeout_usec, &s->timer_watch)) < 0)
                                 goto fail;
index 6d15cfe..755bc59 100644 (file)
--- a/socket.c
+++ b/socket.c
@@ -667,7 +667,7 @@ static void socket_enter_signal(Socket *s, SocketState state, bool success) {
                         }
         }
 
-        if (sent) {
+        if (sent && s->control_pid > 0) {
                 if ((r = unit_watch_timer(UNIT(s), s->timeout_usec, &s->timer_watch)) < 0)
                         goto fail;