On Sun, 30 Nov 2014, Lennart Poettering wrote:
The only solution that will really fix this for good is probably to
move things to the new unified cgroup controller logic that finally
gives us useful ways to get notifications for cgroups running empty.
Also see what I just replied here:
http://lists.freedesktop.org/archives/systemd-devel/2014-November/025734.html
Maybe I'm misunderstanding the problem. I don't see how unreliable cgroup
empty notifications is a problem.
scope_stop starts watching all PIDs in the cgroup. After all processes in
the scope are SIGTERMed, you may or may not get SIGCHLD for them,
depending on whether they actually exit on TERM and whether they had been
reparented to PID 1 first. Each time you receive a SIGCHLD, you can check
to see whether the cgroup is empty. This logic appears to be already in
place.
Only if TimeoutStopSec is hit should there be a need to re-iterate
remaining PIDs in the cgroup (or discover that it has actually emptied
without you receiving the final SIGCHLD) and SIGKILL them.
As Ross Lagerwall pointed out in
http://lists.freedesktop.org/archives/systemd-devel/2014-November/025700.html,
this problem isn't actually specific to scope units.
- Michael
_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel