diff options
Diffstat (limited to 'src/core/manager.h')
-rw-r--r-- | src/core/manager.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/core/manager.h b/src/core/manager.h index 358aba7ff9..948ea98a45 100644 --- a/src/core/manager.h +++ b/src/core/manager.h @@ -96,7 +96,14 @@ struct Manager { sd_event *event; - Hashmap *watch_pids; /* pid => Unit object n:1 */ + /* We use two hash tables here, since the same PID might be + * watched by two different units: once the unit that forked + * it off, and possibly a different unit to which it was + * joined as cgroup member. Since we know that it is either + * one or two units for each PID we just use to hashmaps + * here. */ + Hashmap *watch_pids1; /* pid => Unit object n:1 */ + Hashmap *watch_pids2; /* pid => Unit object n:1 */ sd_event_source *run_queue_event_source; |