aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorame <[email protected]>2024-05-13 23:43:46 -0500
committerame <[email protected]>2024-05-13 23:43:46 -0500
commitce5051ab905a1751effebb8658caf9ed15b2be62 (patch)
treeec8511e3939ae1c7be21c7ccb3a3519b6bdb8c8b /src
parent897f5843d61cc2d827b719e27d83d7f9cff3a20e (diff)
setsockopt before bind
Diffstat (limited to 'src')
-rw-r--r--src/net.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/net.c b/src/net.c
index 2898f0e..486f44a 100644
--- a/src/net.c
+++ b/src/net.c
@@ -979,6 +979,10 @@ int start_serv(lua_State* L, int port){
server_addr.sin_addr.s_addr = INADDR_ANY;
server_addr.sin_port = htons(port);
+
+ if (setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR, (const char*)&(int){1}, sizeof(int)) < 0)
+ p_fatal("SO_REUSEADDR refused\n");
+
//bind to port
if(bind(server_fd, (struct sockaddr*)&server_addr, sizeof(server_addr)) < 0)
p_fatal("failed to bind to port\n");
@@ -989,9 +993,6 @@ int start_serv(lua_State* L, int port){
if (pthread_mutex_init(&mutex, NULL) != 0)
p_fatal("mutex init failed\n");
- if (setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR, (const char*)&(int){1}, sizeof(int)) < 0)
- p_fatal("SO_REUSEADDR refused\n");
-
for(;;){
struct sockaddr_in client_addr;
socklen_t client_addr_len = sizeof(client_addr);