From e60d1b8a68526ec6b763b0570ab4ea09de599a2e Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 5 Oct 2025 17:03:13 +0000 Subject: [PATCH 1/2] Initial plan From 6e766323530514099b8e944889f73c25026ca404 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 5 Oct 2025 17:09:27 +0000 Subject: [PATCH 2/2] Fix Windows socket close() compilation errors Co-authored-by: b4rtaz <12797776+b4rtaz@users.noreply.github.com> --- src/dllama-api.cpp | 4 ++++ src/nn/nn-network.cpp | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/dllama-api.cpp b/src/dllama-api.cpp index c981babc..1d48173b 100644 --- a/src/dllama-api.cpp +++ b/src/dllama-api.cpp @@ -560,7 +560,11 @@ static void server(AppInferenceContext *context) { HttpRequest request = HttpRequest::read(clientSocket); printf("🔷 %s %s\n", request.getMethod().c_str(), request.path.c_str()); Router::resolve(request, routes); + #ifdef _WIN32 + closesocket(clientSocket); + #else close(clientSocket); + #endif } catch (NnReadNetworkException& ex) { printf("Read socket error: %d %s\n", ex.code, ex.message); } catch (NnWriteNetworkException& ex) { diff --git a/src/nn/nn-network.cpp b/src/nn/nn-network.cpp index 8b91233a..7da735ec 100644 --- a/src/nn/nn-network.cpp +++ b/src/nn/nn-network.cpp @@ -222,7 +222,11 @@ int createServerSocket(int port) { void closeServerSocket(int serverSocket) { shutdown(serverSocket, 2); + #ifdef _WIN32 + closesocket(serverSocket); + #else close(serverSocket); + #endif } int acceptSocket(int serverSocket) { @@ -313,7 +317,11 @@ std::unique_ptr NnNetwork::serve(int port) { delete[] ports; shutdown(serverSocket, 2); + #ifdef _WIN32 + closesocket(serverSocket); + #else close(serverSocket); + #endif printf("⭕ Network is initialized\n"); return std::unique_ptr(new NnNetwork(nSockets, sockets)); } @@ -359,7 +367,11 @@ NnNetwork::~NnNetwork() { delete[] recvBytes; for (NnUint i = 0; i < nSockets; i++) { shutdown(sockets[i], 2); + #ifdef _WIN32 + closesocket(sockets[i]); + #else close(sockets[i]); + #endif } delete[] sockets; printf("⭕ Network is closed\n");