]> git.sur5r.net Git - openocd/commitdiff
helper: shutdown command should return with 0 exit status
authorJuha Niskanen <juha.niskanen@haltian.com>
Mon, 9 Mar 2015 11:28:34 +0000 (13:28 +0200)
committerPaul Fertser <fercerpav@gmail.com>
Tue, 14 Apr 2015 11:10:18 +0000 (12:10 +0100)
Commit a35712a85c42 caused a regression where command

openocd -c "echo a1; shutdown; echo a2"

always returned non-zero exit status to operating system,
even when commands before shutdown all succeeded. This patch
attempt to fix this.

Change-Id: I3f478c2c51d100af810ea0171d2fd4c8fcc657f3
Signed-off-by: Juha Niskanen <juha.niskanen@haltian.com>
Reviewed-on: http://openocd.zylin.com/2589
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
src/helper/command.c

index c29f1130ca6e5824771b28b746efc4f4ec0c62f9..9d19cff4f870630555d545565bfdbf0e7a445bfa 100644 (file)
@@ -660,7 +660,10 @@ int command_run_line(struct command_context *context, char *line)
                Jim_DeleteAssocData(interp, "context");
        }
        if (retcode == JIM_ERR) {
-               if (retval != ERROR_COMMAND_CLOSE_CONNECTION) {
+               if (retval == ERROR_COMMAND_CLOSE_CONNECTION) {
+                       /* Shutdown request is not an error */
+                       return ERROR_OK;
+               } else {
                        /* We do not print the connection closed error message */
                        Jim_MakeErrorMessage(interp);
                        LOG_USER("%s", Jim_GetString(Jim_GetResult(interp), NULL));