Move windows socket init to utility function

This commit is contained in:
Wladimir J. van der Laan 2015-09-02 16:18:16 +02:00
parent 4be0b082b9
commit 26c9b83677
4 changed files with 21 additions and 9 deletions

View File

@ -301,6 +301,10 @@ int CommandLineRPC(int argc, char *argv[])
int main(int argc, char* argv[]) int main(int argc, char* argv[])
{ {
SetupEnvironment(); SetupEnvironment();
if (!SetupNetworking()) {
fprintf(stderr, "Error: Initializing networking failed\n");
exit(1);
}
try { try {
if(!AppInitRPC(argc, argv)) if(!AppInitRPC(argc, argv))

View File

@ -658,17 +658,12 @@ bool AppInit2(boost::thread_group& threadGroup, CScheduler& scheduler)
typedef BOOL (WINAPI *PSETPROCDEPPOL)(DWORD); typedef BOOL (WINAPI *PSETPROCDEPPOL)(DWORD);
PSETPROCDEPPOL setProcDEPPol = (PSETPROCDEPPOL)GetProcAddress(GetModuleHandleA("Kernel32.dll"), "SetProcessDEPPolicy"); PSETPROCDEPPOL setProcDEPPol = (PSETPROCDEPPOL)GetProcAddress(GetModuleHandleA("Kernel32.dll"), "SetProcessDEPPolicy");
if (setProcDEPPol != NULL) setProcDEPPol(PROCESS_DEP_ENABLE); if (setProcDEPPol != NULL) setProcDEPPol(PROCESS_DEP_ENABLE);
// Initialize Windows Sockets
WSADATA wsadata;
int ret = WSAStartup(MAKEWORD(2,2), &wsadata);
if (ret != NO_ERROR || LOBYTE(wsadata.wVersion ) != 2 || HIBYTE(wsadata.wVersion) != 2)
{
return InitError(strprintf("Error: Winsock library failed to start (WSAStartup returned error %d)", ret));
}
#endif #endif
#ifndef WIN32
if (!SetupNetworking())
return InitError("Error: Initializing networking failed");
#ifndef WIN32
if (GetBoolArg("-sysperms", false)) { if (GetBoolArg("-sysperms", false)) {
#ifdef ENABLE_WALLET #ifdef ENABLE_WALLET
if (!GetBoolArg("-disablewallet", false)) if (!GetBoolArg("-disablewallet", false))

View File

@ -794,6 +794,18 @@ void SetupEnvironment()
boost::filesystem::path::imbue(loc); boost::filesystem::path::imbue(loc);
} }
bool SetupNetworking()
{
#ifdef WIN32
// Initialize Windows Sockets
WSADATA wsadata;
int ret = WSAStartup(MAKEWORD(2,2), &wsadata);
if (ret != NO_ERROR || LOBYTE(wsadata.wVersion ) != 2 || HIBYTE(wsadata.wVersion) != 2)
return false;
#endif
return true;
}
void SetThreadPriority(int nPriority) void SetThreadPriority(int nPriority)
{ {
#ifdef WIN32 #ifdef WIN32

View File

@ -59,6 +59,7 @@ inline std::string _(const char* psz)
} }
void SetupEnvironment(); void SetupEnvironment();
bool SetupNetworking();
/** Return true if log accepts specified category */ /** Return true if log accepts specified category */
bool LogAcceptCategory(const char* category); bool LogAcceptCategory(const char* category);