summaryrefslogtreecommitdiff
path: root/src/server/server.c
diff options
context:
space:
mode:
authorSpencer Oliver <ntfreak@users.sourceforge.net>2009-12-10 14:31:28 +0000
committerSpencer Oliver <ntfreak@users.sourceforge.net>2009-12-11 10:26:15 +0000
commit08589462adf3f81b480faacecb8352428212a2f5 (patch)
tree89d250156b25f36e5aa4d5d45246ef79e08738fd /src/server/server.c
parent6b9c14e9085b5620c20e9cadffe1f5e64f09a0c6 (diff)
downloadopenocd+libswd-08589462adf3f81b480faacecb8352428212a2f5.tar.gz
openocd+libswd-08589462adf3f81b480faacecb8352428212a2f5.tar.bz2
openocd+libswd-08589462adf3f81b480faacecb8352428212a2f5.tar.xz
openocd+libswd-08589462adf3f81b480faacecb8352428212a2f5.zip
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/server.c')
-rw-r--r--src/server/server.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/server/server.c b/src/server/server.c
index 2f4bfb00..75a6bed0 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;