From 5e283b0abc9f8bcf51d1b7f137e89cda2002a909 Mon Sep 17 00:00:00 2001 From: Weng Meiling Date: Fri, 4 Apr 2014 09:58:20 +0200 Subject: [PATCH] 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 --- src/api.c | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) 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) { -- 2.47.2