server: add server_preinit which is called before config file is parsed.
This fixes the issue under native win32 of the socket interface not being enabled (via WSAStartup) before init is called from a script. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>__archive__
parent
6b9c14e908
commit
08589462ad
|
@ -62,7 +62,6 @@ COMMAND_HANDLER(handle_version_command)
|
|||
return ERROR_OK;
|
||||
}
|
||||
|
||||
|
||||
static int log_target_callback_event_handler(struct target *target, enum target_event event, void *priv)
|
||||
{
|
||||
switch (event)
|
||||
|
@ -255,13 +254,15 @@ int openocd_main(int argc, char *argv[])
|
|||
"http://openocd.berlios.de/doc/doxygen/bugs.html"
|
||||
"\n");
|
||||
|
||||
|
||||
command_context_mode(cmd_ctx, COMMAND_CONFIG);
|
||||
command_set_output_handler(cmd_ctx, configuration_output_handler, NULL);
|
||||
|
||||
if (parse_cmdline_args(cmd_ctx, argc, argv) != ERROR_OK)
|
||||
return EXIT_FAILURE;
|
||||
|
||||
if (server_preinit() != ERROR_OK)
|
||||
return EXIT_FAILURE;
|
||||
|
||||
ret = parse_config_file(cmd_ctx);
|
||||
if (ret != ERROR_OK)
|
||||
return EXIT_FAILURE;
|
||||
|
|
|
@ -487,8 +487,12 @@ void sig_handler(int sig) {
|
|||
}
|
||||
#endif
|
||||
|
||||
int server_init(struct command_context *cmd_ctx)
|
||||
int server_preinit(void)
|
||||
{
|
||||
/* this currently only calls WSAStartup on native win32 systems
|
||||
* before any socket operations are performed.
|
||||
* This is an issue if you call init in your config script */
|
||||
|
||||
#ifdef _WIN32
|
||||
WORD wVersionRequested;
|
||||
WSADATA wsaData;
|
||||
|
@ -518,6 +522,11 @@ int server_init(struct command_context *cmd_ctx)
|
|||
signal(SIGABRT, sig_handler);
|
||||
#endif
|
||||
|
||||
return ERROR_OK;
|
||||
}
|
||||
|
||||
int server_init(struct command_context *cmd_ctx)
|
||||
{
|
||||
int ret = tcl_init(cmd_ctx);
|
||||
if (ERROR_OK != ret)
|
||||
return ret;
|
||||
|
|
|
@ -74,6 +74,7 @@ int add_service(char *name, enum connection_type type, unsigned short port,
|
|||
input_handler_t in_handler, connection_closed_handler_t close_handler,
|
||||
void *priv);
|
||||
|
||||
int server_preinit(void);
|
||||
int server_init(struct command_context *cmd_ctx);
|
||||
int server_quit(void);
|
||||
|
||||
|
|
Loading…
Reference in New Issue