From: Brendan Hansen Date: Mon, 24 Jan 2022 18:29:24 +0000 (-0600) Subject: bugfix in tcp server X-Git-Url: https://git.brendanfh.com/?a=commitdiff_plain;h=c67b946c620b1bf37499ac90e12418eebe45e8d5;p=onyx.git bugfix in tcp server --- diff --git a/core/net/tcp.onyx b/core/net/tcp.onyx index 3a874d8b..23428c92 100644 --- a/core/net/tcp.onyx +++ b/core/net/tcp.onyx @@ -7,6 +7,7 @@ package core.net array :: package core.array memory :: package core.memory alloc :: package core.alloc + os :: package core.os use package core.intrinsics.onyx { __zero_value } } @@ -15,6 +16,8 @@ package core.net #error "Expected multi-threading to be enabled for TCP server."; } +// Should TCP_Connection be an abstraction of both the client and the server? +// Or is there not enough shared between them to justify that? TCP_Connection :: struct { socket: Socket; @@ -180,6 +183,11 @@ tcp_server_pulse :: (use server: ^TCP_Server) -> bool { } } + if client_count == 0 { + os.sleep(pulse_time_ms); + return true; + } + clients_with_messages := wait_to_get_client_messages(server); defer if clients_with_messages.data != null do cfree(clients_with_messages.data);