ping... On 2014/4/10 16:09, Weng Meiling wrote: > Cgred just migrate forked process when the parent's cgroup is changed, > so that the forked process can stay in the same cgroup which match the > cgred rules with it's parent. But there is a situation when parent process > fork a child process, and exited before it moved into the cgroup matched > the rules successfullly. The forked child process is also failed into the > cgroup. This result is inconsistent with rules. So this patch fix the > problem. Just apply rule for forked process when parent process exited > when forking. > > But I'm not sure whether the fix is suitable. Because the other way(just > remove > the cgre_was_parent_changed_when_forking() for forked processes) will affect > cgclassify --sticky. But this way is not which I have done some test. > > Signed-off-by: Weng Meiling <wengmeiling.w...@huawei.com> > --- > src/daemon/cgrulesengd.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/src/daemon/cgrulesengd.c b/src/daemon/cgrulesengd.c > index 367b898..5e254c8 100644 > --- a/src/daemon/cgrulesengd.c > +++ b/src/daemon/cgrulesengd.c > @@ -265,6 +265,8 @@ static int cgre_was_parent_changed_when_forking(const > struct proc_event *ev) > pid_t parent_pid; > __u64 timestamp_child; > __u64 timestamp_parent; > + char path[FILENAME_MAX]; > + struct stat buff_stat; > > parent_pid = ev->event_data.fork.parent_pid; > timestamp_child = ev->timestamp_ns; > @@ -279,6 +281,9 @@ static int cgre_was_parent_changed_when_forking(const > struct proc_event *ev) > continue; > return 1; > } > + sprintf(path, "/proc/%d", parent_pid); > + if (stat(path, &buff_stat) < 0) > + return 1; > return 0; > } >
------------------------------------------------------------------------------ Start Your Social Network Today - Download eXo Platform Build your Enterprise Intranet with eXo Platform Software Java Based Open Source Intranet - Social, Extensible, Cloud Ready Get Started Now And Turn Your Intranet Into A Collaboration Platform http://p.sf.net/sfu/ExoPlatform _______________________________________________ Libcg-devel mailing list Libcg-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libcg-devel