[Devel] [PATCH user-cr] return, don't exist, at coord error

Serge E. Hallyn serue at us.ibm.com
Sun Oct 18 19:29:42 PDT 2009


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 at us.ibm.com>
---
 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 at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers




More information about the Devel mailing list