diff options
author | Spencer Oliver <ntfreak@users.sourceforge.net> | 2009-12-10 14:31:28 +0000 |
---|---|---|
committer | Spencer Oliver <ntfreak@users.sourceforge.net> | 2009-12-11 10:26:15 +0000 |
commit | 08589462adf3f81b480faacecb8352428212a2f5 (patch) | |
tree | 89d250156b25f36e5aa4d5d45246ef79e08738fd /src/server | |
parent | 6b9c14e9085b5620c20e9cadffe1f5e64f09a0c6 (diff) | |
download | riscv-openocd-08589462adf3f81b480faacecb8352428212a2f5.zip riscv-openocd-08589462adf3f81b480faacecb8352428212a2f5.tar.gz riscv-openocd-08589462adf3f81b480faacecb8352428212a2f5.tar.bz2 |
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>
Diffstat (limited to 'src/server')
-rw-r--r-- | src/server/server.c | 11 | ||||
-rw-r--r-- | src/server/server.h | 1 |
2 files changed, 11 insertions, 1 deletions
diff --git a/src/server/server.c b/src/server/server.c index 2f4bfb0..75a6bed 100644 --- a/src/server/server.c +++ b/src/server/server.c @@ -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; diff --git a/src/server/server.h b/src/server/server.h index be1afbe..a25920e 100644 --- a/src/server/server.h +++ b/src/server/server.h @@ -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); |