diff options
| author | ame <[email protected]> | 2024-05-13 23:43:46 -0500 |
|---|---|---|
| committer | ame <[email protected]> | 2024-05-13 23:43:46 -0500 |
| commit | ce5051ab905a1751effebb8658caf9ed15b2be62 (patch) | |
| tree | ec8511e3939ae1c7be21c7ccb3a3519b6bdb8c8b | |
| parent | 897f5843d61cc2d827b719e27d83d7f9cff3a20e (diff) | |
setsockopt before bind
| -rw-r--r-- | src/net.c | 7 | ||||
| -rw-r--r-- | tests/h.lua | 18 |
2 files changed, 15 insertions, 10 deletions
@@ -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);
diff --git a/tests/h.lua b/tests/h.lua index c96e98e..ca946fc 100644 --- a/tests/h.lua +++ b/tests/h.lua @@ -1,6 +1,6 @@ require "llib"
-llib.thread.lock(1)
+--llib.thread.lock(1)
--llib.thread.lock(2)
--llib.thread.unlock(2)
@@ -8,21 +8,25 @@ local thread_a = llib.thread.async(function (res) --os.execute("sleep 1")
--print((_G.ll + "hi"):final())
print("waiting..")
- llib.thread.lock(1)
+ --llib.thread.lock(1)
+ _G.test = 5
print("signal!")
- res()
+ res(llib.thread.async(function (res)
+ print(test)
+ res(test)
+ end))
print("after")
end)
-os.execute("sleep 1")
-print("unlock")
-llib.thread.unlock(1)
+--os.execute("sleep 1")
+--print("unlock")
+--llib.thread.unlock(1)
awa = thread_a:await()
+print(awa:await())
--print((awa + "hi"):final())
-os.execute("sleep 1")
thread_a:clean()
print("clean exit")
|
