summaryrefslogtreecommitdiff
path: root/src/server
diff options
context:
space:
mode:
Diffstat (limited to 'src/server')
-rw-r--r--src/server/server.c11
-rw-r--r--src/server/server.h1
2 files changed, 11 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;
diff --git a/src/server/server.h b/src/server/server.h
index be1afbe4..a25920ed 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);