All right I can't explain it at the moment, but exit(1) at ckpt_coordinator() (on error) causes restart.c to exit with 0, whereas return(ret) causes it to correctly exit with -1. Without this, a restart whose kernel portion ends with say -1 ends up returning from user-cr/restart.c with 0, so userspace can't tell whether sys_restart succeeded or failed. With the patch, it fails correctly. Signed-off-by: Serge E. Hallyn <serue@xxxxxxxxxx> --- restart.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/restart.c b/restart.c index e6e72ac..87899ba 100644 --- a/restart.c +++ b/restart.c @@ -933,7 +933,7 @@ static int ckpt_coordinator(struct ckpt_ctx *ctx) perror("restart failed"); ckpt_verbose("Failed\n"); ckpt_dbg("restart failed ?\n"); - exit(1); + return ret; } ckpt_verbose("Success\n"); -- 1.6.1.1 _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/containers