Skip to content

Commit

Permalink
rpc : set SO_REUSEADDR for the server socket (llama/7320)
Browse files Browse the repository at this point in the history
ref: #7293
  • Loading branch information
rgerganov authored and ggerganov committed May 28, 2024
1 parent 518c4af commit 9306906
Showing 1 changed file with 11 additions and 2 deletions.
13 changes: 11 additions & 2 deletions src/ggml-rpc.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,13 @@ static bool set_no_delay(sockfd_t sockfd) {
int flag = 1;
// set TCP_NODELAY to disable Nagle's algorithm
int ret = setsockopt(sockfd, IPPROTO_TCP, TCP_NODELAY, (char *)&flag, sizeof(int));
return ret >= 0;
return ret == 0;
}

static bool set_reuse_addr(sockfd_t sockfd) {
int flag = 1;
int ret = setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, (char *)&flag, sizeof(int));
return ret == 0;
}

static std::shared_ptr<socket_t> socket_connect(const char * host, int port) {
Expand Down Expand Up @@ -181,7 +187,10 @@ static std::shared_ptr<socket_t> create_server_socket(const char * host, int por
if (sock == nullptr) {
return nullptr;
}

if (!set_reuse_addr(sockfd)) {
fprintf(stderr, "Failed to set SO_REUSEADDR\n");
return nullptr;
}
struct sockaddr_in serv_addr;
serv_addr.sin_family = AF_INET;
serv_addr.sin_addr.s_addr = inet_addr(host);
Expand Down

0 comments on commit 9306906

Please sign in to comment.