From: Wladimir J. van der Laan Date: Sun, 28 Apr 2013 06:51:49 +0000 (+0200) Subject: move WSAStartup to init X-Git-Tag: nvc-v0.5.5~3 X-Git-Url: https://git.novaco.in/?p=novacoin.git;a=commitdiff_plain;h=c3faff07f5e2e4620601c2ef324b492a31bf7088 move WSAStartup to init WSAStartup should be called before using any other socket functions. BindListenPort is not called if not listening. Closes #2585. --- diff --git a/src/init.cpp b/src/init.cpp index 66ad72d..417b342 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -344,6 +344,14 @@ bool AppInit2() typedef BOOL (WINAPI *PSETPROCDEPPOL)(DWORD); PSETPROCDEPPOL setProcDEPPol = (PSETPROCDEPPOL)GetProcAddress(GetModuleHandleA("Kernel32.dll"), "SetProcessDEPPolicy"); if (setProcDEPPol != NULL) setProcDEPPol(PROCESS_DEP_ENABLE); + + // Initialize Windows Sockets + WSADATA wsadata; + int ret = WSAStartup(MAKEWORD(2,2), &wsadata); + if (ret != NO_ERROR) + { + return InitError(strprintf("Error: TCP/IP socket library failed to start (WSAStartup returned error %d)", ret)); + } #endif #ifndef WIN32 umask(077); diff --git a/src/net.cpp b/src/net.cpp index d409949..26b8174 100644 --- a/src/net.cpp +++ b/src/net.cpp @@ -1537,18 +1537,6 @@ bool BindListenPort(const CService &addrBind, string& strError) strError = ""; int nOne = 1; -#ifdef WIN32 - // Initialize Windows Sockets - WSADATA wsadata; - int ret = WSAStartup(MAKEWORD(2,2), &wsadata); - if (ret != NO_ERROR) - { - strError = strprintf("Error: TCP/IP socket library failed to start (WSAStartup returned error %d)", ret); - printf("%s\n", strError.c_str()); - return false; - } -#endif - // Create socket for listening for incoming connections #ifdef USE_IPV6 struct sockaddr_storage sockaddr;