diff options
author | DDuarte <dnpd.dd@gmail.com> | 2014-09-29 12:48:34 +0100 |
---|---|---|
committer | DDuarte <dnpd.dd@gmail.com> | 2014-09-29 12:48:34 +0100 |
commit | f805d049417bf67157f5ef4479880ff64fbbfbc8 (patch) | |
tree | 000d04ec5c81601e599e378f057003e574973c93 /src/server/worldserver/Main.cpp | |
parent | aa638d9bc74a53b29f9a7c1f07fa93d47075b2bc (diff) | |
parent | 35b267e7f7811ca62b587837a53c0c48a73efbd7 (diff) |
Merge remote-tracking branch 'origin/master' into 4.3.4
Diffstat (limited to 'src/server/worldserver/Main.cpp')
-rw-r--r-- | src/server/worldserver/Main.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/server/worldserver/Main.cpp b/src/server/worldserver/Main.cpp index 07101e61eb6..bd028069c62 100644 --- a/src/server/worldserver/Main.cpp +++ b/src/server/worldserver/Main.cpp @@ -280,7 +280,20 @@ extern int main(int argc, char** argv) if (cliThread != nullptr) { #ifdef _WIN32 - CancelSynchronousIo(cliThread->native_handle()); + if (!CancelSynchronousIo(cliThread->native_handle())) + { + DWORD errorCode = GetLastError(); + LPSTR errorBuffer; + + DWORD formatReturnCode = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_IGNORE_INSERTS, + nullptr, errorCode, 0, (LPTSTR)&errorBuffer, 0, nullptr); + if (!formatReturnCode) + errorBuffer = "Unknown error"; + + TC_LOG_ERROR("server.worldserver", "Error cancelling I/O of CliThread, error code %u, detail: %s", + errorCode, errorBuffer); + LocalFree(errorBuffer); + } #endif cliThread->join(); delete cliThread; |