aboutsummaryrefslogtreecommitdiff
path: root/zenhttp/iothreadpool.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2021-09-12 13:42:23 +0200
committerStefan Boberg <[email protected]>2021-09-12 13:42:23 +0200
commit835a7d00a9da37b07cdf450899ac7fd0125b3320 (patch)
tree8281fb3c085d4a8982b0455bcb28a0d6d0ee27d2 /zenhttp/iothreadpool.cpp
parentAdded some std::error_code helpers (diff)
downloadzen-835a7d00a9da37b07cdf450899ac7fd0125b3320.tar.xz
zen-835a7d00a9da37b07cdf450899ac7fd0125b3320.zip
Some error handling improvements in zenhttp
Primarily replaces some exception usage with std::error_code
Diffstat (limited to 'zenhttp/iothreadpool.cpp')
-rw-r--r--zenhttp/iothreadpool.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/zenhttp/iothreadpool.cpp b/zenhttp/iothreadpool.cpp
index 4ed81d7a2..4f1a6642b 100644
--- a/zenhttp/iothreadpool.cpp
+++ b/zenhttp/iothreadpool.cpp
@@ -2,6 +2,8 @@
#include "iothreadpool.h"
+#include <zencore/except.h>
+
namespace zen {
WinIoThreadPool::WinIoThreadPool(int InThreadCount)
@@ -28,9 +30,14 @@ WinIoThreadPool::~WinIoThreadPool()
}
void
-WinIoThreadPool::CreateIocp(HANDLE IoHandle, PTP_WIN32_IO_CALLBACK Callback, void* Context)
+WinIoThreadPool::CreateIocp(HANDLE IoHandle, PTP_WIN32_IO_CALLBACK Callback, void* Context, std::error_code& ErrorCode)
{
m_ThreadPoolIo = CreateThreadpoolIo(IoHandle, Callback, Context, &m_CallbackEnvironment);
+
+ if (!m_ThreadPoolIo)
+ {
+ ErrorCode = MakeErrorCodeFromLastError();
+ }
}
} // namespace zen