Added system signal handling to Linux version

(with http://www.cons.org/cracauer/sigint.html in mind)

Change-Id: I15f559bc1122a408c3fb9338ba55c16fab3187e1
Signed-off-by: Mateusz Manowiecki <segmentation@fault.pl>
Reviewed-on: http://openocd.zylin.com/2443
Tested-by: jenkins
Reviewed-by: Paul Fertser <fercerpav@gmail.com>
This commit is contained in:
Mateusz Manowiecki
2015-01-05 16:40:16 +01:00
committed by Paul Fertser
parent ef0fa97a71
commit 5087a95548
3 changed files with 34 additions and 12 deletions

View File

@@ -277,30 +277,28 @@ static int openocd_thread(int argc, char *argv[], struct command_context *cmd_ct
int ret;
if (parse_cmdline_args(cmd_ctx, argc, argv) != ERROR_OK)
return EXIT_FAILURE;
return ERROR_FAIL;
if (server_preinit() != ERROR_OK)
return EXIT_FAILURE;
return ERROR_FAIL;
ret = parse_config_file(cmd_ctx);
if (ret != ERROR_OK)
return EXIT_FAILURE;
return ERROR_FAIL;
ret = server_init(cmd_ctx);
if (ERROR_OK != ret)
return EXIT_FAILURE;
return ERROR_FAIL;
if (init_at_startup) {
ret = command_run_line(cmd_ctx, "init");
if (ERROR_OK != ret)
return EXIT_FAILURE;
return ERROR_FAIL;
}
server_loop(cmd_ctx);
server_quit();
return ret;
return server_quit();
}
/* normally this is the main() function entry, but if OpenOCD is linked
@@ -338,5 +336,10 @@ int openocd_main(int argc, char *argv[])
adapter_quit();
if (ERROR_FAIL == ret)
return EXIT_FAILURE;
else if (ERROR_OK != ret)
exit_on_signal(ret);
return ret;
}