Skip to content

Commit 21195a5

Browse files
authored
fix: support close socket on windows.
1 parent a50b7cb commit 21195a5

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

src/dllama-api.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -560,7 +560,11 @@ static void server(AppInferenceContext *context) {
560560
HttpRequest request = HttpRequest::read(clientSocket);
561561
printf("🔷 %s %s\n", request.getMethod().c_str(), request.path.c_str());
562562
Router::resolve(request, routes);
563+
#ifdef _WIN32
564+
closesocket(clientSocket);
565+
#else
563566
close(clientSocket);
567+
#endif
564568
} catch (NnReadNetworkException& ex) {
565569
printf("Read socket error: %d %s\n", ex.code, ex.message);
566570
} catch (NnWriteNetworkException& ex) {

src/nn/nn-network.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,11 @@ int createServerSocket(int port) {
222222

223223
void closeServerSocket(int serverSocket) {
224224
shutdown(serverSocket, 2);
225+
#ifdef _WIN32
226+
closesocket(serverSocket);
227+
#else
225228
close(serverSocket);
229+
#endif
226230
}
227231

228232
int acceptSocket(int serverSocket) {
@@ -313,7 +317,11 @@ std::unique_ptr<NnNetwork> NnNetwork::serve(int port) {
313317
delete[] ports;
314318

315319
shutdown(serverSocket, 2);
320+
#ifdef _WIN32
321+
closesocket(serverSocket);
322+
#else
316323
close(serverSocket);
324+
#endif
317325
printf("⭕ Network is initialized\n");
318326
return std::unique_ptr<NnNetwork>(new NnNetwork(nSockets, sockets));
319327
}
@@ -359,7 +367,11 @@ NnNetwork::~NnNetwork() {
359367
delete[] recvBytes;
360368
for (NnUint i = 0; i < nSockets; i++) {
361369
shutdown(sockets[i], 2);
370+
#ifdef _WIN32
371+
closesocket(sockets[i]);
372+
#else
362373
close(sockets[i]);
374+
#endif
363375
}
364376
delete[] sockets;
365377
printf("⭕ Network is closed\n");

0 commit comments

Comments
 (0)