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
adapter_quit();
+ if (ERROR_FAIL == ret)
+ return EXIT_FAILURE;
+ else if (ERROR_OK != ret)
+ exit_on_signal(ret);
+
return ret;
}