-
Andrey Vagin authored
If criu process attaches to the root task (it happens for opts.swrk_restore and opts.restore_detach) with ptrace, then any signal delivered to the root would be also delivered to criu. The latter woult treat the former to die due to this delivery and would abort the restore. Fix it by checking that criu (current == NULL) gets ptrace notification (si_code == CLD_TRAPPED) about signal delivered (si_status = SIGCHLD, no other signals are allowed by the restoring tasks). This patch fixes the following error of static/zombie00: Execute zdtm/live/static/zombie00 ./zombie00 --pidfile=zombie00.pid --outfile=zombie00.out Dump 2207 Restore Test: zdtm/live/static/zombie00, Result: FAIL ==================================== ERROR ==================================== Restore log: /root/git/orig/criu/test/dump/static/zombie00/2207/1/restore.log (00.026826) Error (cr-restore.c:1085): 2207 killed by signal 17 (00.026985) Error (cr-restore.c:1706): Restoring FAILED. ================================= ERROR OVER ================================= Reported-by: Mr Jenkins Cc: Pavel Emelyanov <xemul@parallels.com> Cc: Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
0b33bac3