chiark / gitweb /
service: recheck PID status when a cgroup runs empty
authorLennart Poettering <lennart@poettering.net>
Tue, 31 Aug 2010 23:33:12 +0000 (01:33 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 31 Aug 2010 23:33:12 +0000 (01:33 +0200)
src/service.c

index 2fec3ea8c9168b7fa290b71e02042ec607878d95..fabb71ca978f23453aac4c4bec7cad1db28a7643 100644 (file)
@@ -2572,6 +2572,13 @@ static void service_cgroup_notify_event(Unit *u) {
                 service_enter_running(s, true);
                 break;
 
                 service_enter_running(s, true);
                 break;
 
+        case SERVICE_STOP_SIGTERM:
+        case SERVICE_STOP_SIGKILL:
+                if (main_pid_good(s) <= 0 && !control_pid_good(s))
+                        service_enter_stop_post(s, true);
+
+                break;
+
         default:
                 ;
         }
         default:
                 ;
         }