chiark / gitweb /
core: watch SIGCHLD more closely to track processes of units with no reliable cgroup...
[elogind.git] / src / core / manager.c
index 45f5f70b2acd8caed560f786ce89473903996a5c..c0bcc79f00a72c6962d4ba1044fcb0da245390a7 100644 (file)
@@ -1459,7 +1459,7 @@ static int manager_dispatch_sigchld(Manager *m) {
                 log_debug_unit(u->id,
                                "Child %lu belongs to %s", (long unsigned) si.si_pid, u->id);
 
-                hashmap_remove(m->watch_pids, LONG_TO_PTR(si.si_pid));
+                unit_unwatch_pid(u, si.si_pid);
                 UNIT_VTABLE(u)->sigchld_event(u, si.si_pid, si.si_code, si.si_status);
         }