----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/5402/#review9616 -----------------------------------------------------------
Ship it! src/linux/cgroups.cpp <https://reviews.apache.org/r/5402/#comment20523> Love this. Once the bug in libprocess is fixed (see comment below), then you can just start this with: defer(self(), &Self::freeze) .then(defer(self(), &Self::kill)) .then(...); src/linux/cgroups.cpp <https://reviews.apache.org/r/5402/#comment20525> Ah ha, this is a bug in libprocess. If we discard an "outer" future, we need to make sure we clean up all the other futures as well. Please add a TODO here to remove this once libprocess is fixed (and don't hesitate to fix libprocess!). src/linux/cgroups.cpp <https://reviews.apache.org/r/5402/#comment20522> I'd prefer you move this into a check at the beginning, ie.g., CHECK(!finish.isPending() || !finish.isDiscarded()); - Benjamin Hindman On July 24, 2012, 10:47 p.m., Jie Yu wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviews.apache.org/r/5402/ > ----------------------------------------------------------- > > (Updated July 24, 2012, 10:47 p.m.) > > > Review request for mesos, Benjamin Hindman and Vinod Kone. > > > Description > ------- > > This patch leverages the freezer subsystem in cgroups to kill all the > processes in a cgroup atomically. > > The main idea is to freeze all the processes in a cgroup first, then send > kill signal to all the proceses. This avoids the need of walking the proc > process tree to kill all processes associated with an executor. In fact, the > original killtree solution assumes that the user processes haven't blocked > the SIGSTOP signal, which may not be true in some cases. > > > Diffs > ----- > > src/linux/cgroups.hpp cec9e36 > src/linux/cgroups.cpp 93c140f > src/tests/cgroups_tests.cpp 7f0f901 > > Diff: https://reviews.apache.org/r/5402/diff/ > > > Testing > ------- > > On Linux machine, make check. > > > Thanks, > > Jie Yu > >
