diff options
author | David Brownell <dbrownell@users.sourceforge.net> | 2009-11-28 23:08:05 -0800 |
---|---|---|
committer | David Brownell <dbrownell@users.sourceforge.net> | 2009-11-28 23:11:31 -0800 |
commit | 3debd59c5ec2a91146e1d2781bedf2ab36ee0c6c (patch) | |
tree | 2bb382f61d4890d703f727093042a3b14cfd2d8f | |
parent | b0858e89c7a7cf761c2f67db835d17840fd830ee (diff) | |
download | riscv-openocd-3debd59c5ec2a91146e1d2781bedf2ab36ee0c6c.zip riscv-openocd-3debd59c5ec2a91146e1d2781bedf2ab36ee0c6c.tar.gz riscv-openocd-3debd59c5ec2a91146e1d2781bedf2ab36ee0c6c.tar.bz2 |
bugfix: 'init' changes state, not main()
Code other than main() may invoke "init". When it does so,
customized handlers may need to run ... so make sure the
command context state is updated before they do so.
Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
-rw-r--r-- | src/openocd.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/openocd.c b/src/openocd.c index 629d50a..01e9e79 100644 --- a/src/openocd.c +++ b/src/openocd.c @@ -109,6 +109,8 @@ COMMAND_HANDLER(handle_init_command) atexit(exit_handler); + command_context_mode(CMD_CTX, COMMAND_EXEC); + if (target_init(CMD_CTX) != ERROR_OK) return ERROR_FAIL; LOG_DEBUG("target init complete"); @@ -267,7 +269,6 @@ int openocd_main(int argc, char *argv[]) if (ret != ERROR_COMMAND_CLOSE_CONNECTION) { - command_context_mode(cmd_ctx, COMMAND_EXEC); if (command_run_line(cmd_ctx, "init") != ERROR_OK) return EXIT_FAILURE; |