When calling openocd from a shell like this:
openocd -f board/sheevaplug.cfg -c init -c exit the calling shell will believe that openocd exited with an error due to exitval will be non-zero This is not tested against incomming telnet Change-Id: I63d15715a7b46f39a7de261a45039f8c3cad7a98 Signed-off-by: Stian Skjelstad <stian@nixia.no> Reviewed-on: http://openocd.zylin.com/470 Tested-by: jenkins Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk> Reviewed-by: Bill Traynor <wmat@alphatroop.com> Reviewed-by: Mathias Küster <kesmtp@freenet.de> Reviewed-by: Freddie Chopin <freddie.chopin@gmail.com>
This commit is contained in:
parent
9ce207a52a
commit
e8641695c6
|
@ -118,10 +118,15 @@ static void command_log_capture_finish(struct log_capture_state *state)
|
||||||
static int command_retval_set(Jim_Interp *interp, int retval)
|
static int command_retval_set(Jim_Interp *interp, int retval)
|
||||||
{
|
{
|
||||||
int *return_retval = Jim_GetAssocData(interp, "retval");
|
int *return_retval = Jim_GetAssocData(interp, "retval");
|
||||||
if (return_retval != NULL)
|
if (retval == ERROR_COMMAND_CLOSE_CONNECTION) {
|
||||||
*return_retval = retval;
|
if (return_retval != NULL)
|
||||||
|
*return_retval = 0;
|
||||||
return (retval == ERROR_OK) ? JIM_OK : JIM_ERR;
|
return JIM_EXIT;
|
||||||
|
} else {
|
||||||
|
if (return_retval != NULL)
|
||||||
|
*return_retval = retval;
|
||||||
|
return (retval == ERROR_OK) ? JIM_OK : JIM_ERR;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
extern struct command_context *global_cmd_ctx;
|
extern struct command_context *global_cmd_ctx;
|
||||||
|
@ -671,8 +676,7 @@ int command_run_line(struct command_context *context, char *line)
|
||||||
}
|
}
|
||||||
return retval;
|
return retval;
|
||||||
} else if (retcode == JIM_EXIT) {
|
} else if (retcode == JIM_EXIT) {
|
||||||
/* ignore.
|
return ERROR_OK_EXIT;
|
||||||
* exit(Jim_GetExitCode(interp)); */
|
|
||||||
} else {
|
} else {
|
||||||
const char *result;
|
const char *result;
|
||||||
int reslen;
|
int reslen;
|
||||||
|
|
|
@ -138,5 +138,5 @@ extern int debug_level;
|
||||||
* make no assumptions about what went wrong and try to handle the problem.
|
* make no assumptions about what went wrong and try to handle the problem.
|
||||||
*/
|
*/
|
||||||
#define ERROR_FAIL (-4)
|
#define ERROR_FAIL (-4)
|
||||||
|
#define ERROR_OK_EXIT (-5)
|
||||||
#endif /* LOG_H */
|
#endif /* LOG_H */
|
||||||
|
|
|
@ -279,6 +279,8 @@ static int openocd_thread(int argc, char *argv[], struct command_context *cmd_ct
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
|
|
||||||
ret = parse_config_file(cmd_ctx);
|
ret = parse_config_file(cmd_ctx);
|
||||||
|
if (ret == ERROR_OK_EXIT)
|
||||||
|
return ERROR_OK;
|
||||||
if (ret != ERROR_OK)
|
if (ret != ERROR_OK)
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue