From 30e5bff4b8c18166288e7df22cf285efadfeaea0 Mon Sep 17 00:00:00 2001 From: oharboe Date: Wed, 8 Oct 2008 13:07:21 +0000 Subject: Richard Missenden exit now works during startup script git-svn-id: svn://svn.berlios.de/openocd/trunk@1031 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/openocd.c | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'src/openocd.c') diff --git a/src/openocd.c b/src/openocd.c index b09ef1e7..6adbbc61 100644 --- a/src/openocd.c +++ b/src/openocd.c @@ -5,6 +5,9 @@ * Copyright (C) 2007,2008 Øyvind Harboe * * oyvind.harboe@zylin.com * * * + * Copyright (C) 2008 Richard Missenden * + * richard.missenden@googlemail.com * + * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * @@ -219,6 +222,8 @@ command_context_t *setup_command_handler(void) * application will have it's own implementation of main(). */ int openocd_main(int argc, char *argv[]) { + int ret; + /* initialize commandline interface */ command_context_t *cmd_ctx; @@ -234,15 +239,19 @@ int openocd_main(int argc, char *argv[]) if (parse_cmdline_args(cmd_ctx, argc, argv) != ERROR_OK) return EXIT_FAILURE; - if (parse_config_file(cmd_ctx) != ERROR_OK) + ret = parse_config_file(cmd_ctx); + if ( (ret != ERROR_OK) && (ret != ERROR_COMMAND_CLOSE_CONNECTION) ) return EXIT_FAILURE; - command_context_mode(cmd_ctx, COMMAND_EXEC); - if (command_run_line(cmd_ctx, "init")!=ERROR_OK) - return EXIT_FAILURE; + 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; - /* handle network connections */ - server_loop(cmd_ctx); + /* handle network connections */ + server_loop(cmd_ctx); + } /* shut server down */ server_quit(); -- cgit v1.2.3