From: Weng Meiling Date: Fri, 4 Apr 2014 07:58:20 +0000 (+0200) Subject: There is a situation when moving a task from child cgroup X-Git-Tag: v0.42.rc1~52 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5e283b0abc9f8bcf51d1b7f137e89cda2002a909;p=thirdparty%2Flibcgroup.git There is a situation when moving a task from child cgroup to parent cgroup, the task exited. This will lead to service cgconfig start failed. So ignore the error ESRCH. Signed-off-by: Weng Meiling Acked-by: Ivana Hutarova Varekova --- diff --git a/src/api.c b/src/api.c index bfd0177b..0b3d8a07 100644 --- a/src/api.c +++ b/src/api.c @@ -1897,15 +1897,23 @@ static int cg_move_task_files(FILE *input_tasks, FILE *output_tasks) break; ret = fprintf(output_tasks, "%d", tids); - if (ret < 0) - break; + if (ret < 0) { + if (errno == ESRCH) + ret = 0; + else + break; + } /* * Flush the file, we need only one process per write() call. */ ret = fflush(output_tasks); - if (ret < 0) - break; + if (ret < 0) { + if (errno == ESRCH) + ret = 0; + else + break; + } } if (ret < 0) {