From 5d3954a9fc8182d8c03bf56b3264e9d01cf3beb9 Mon Sep 17 00:00:00 2001 From: castaneai Date: Mon, 20 Jul 2015 12:43:00 +0900 Subject: [PATCH] =?UTF-8?q?closes=20#2=20agiri.dll=E3=81=AF=E8=A4=87?= =?UTF-8?q?=E6=95=B0=E3=81=AE=E3=82=AF=E3=83=A9=E3=82=A4=E3=82=A2=E3=83=B3?= =?UTF-8?q?=E3=83=88=E3=82=92=E5=8F=97=E3=81=91=E5=85=A5=E3=82=8C=E5=8F=AF?= =?UTF-8?q?=E8=83=BD=E3=81=AB=E3=81=AA=E3=81=A3=E3=81=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- agiri/server.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/agiri/server.cpp b/agiri/server.cpp index 13bb4d2..1564a8f 100644 --- a/agiri/server.cpp +++ b/agiri/server.cpp @@ -6,8 +6,9 @@ namespace { SOCKET listenSocket; - void onAcceptSniffer(const socket_t snifferSock) + DWORD WINAPI onAcceptSnifferThreadFunc(void* argument) { + auto snifferSock = (reinterpret_cast(argument)); NinjaConnection conn(snifferSock); RequestHandler handler(conn); while (true) { @@ -17,6 +18,7 @@ namespace } handler.handle(mes); } + return 0; } DWORD WINAPI acceptSnifferThreadFunc(LPVOID) @@ -26,8 +28,7 @@ namespace int snifferAddressLength = sizeof(snifferAddress); auto acceptedSnifferSock = accept(listenSocket, reinterpret_cast(&snifferAddress), &snifferAddressLength); if (acceptedSnifferSock != INVALID_SOCKET) { - // TODO: accept multi sniffer - onAcceptSniffer(acceptedSnifferSock); + QueueUserWorkItem(onAcceptSnifferThreadFunc, reinterpret_cast(acceptedSnifferSock), 0); } } }