From 3eeee14d5d5c93ae3d156aabae5a96d1c09f185a Mon Sep 17 00:00:00 2001 From: justanothercatgirl Date: Thu, 4 Jul 2024 20:49:53 +0300 Subject: Renamed types, migrated to make, changed directory hierarchy --- server/main.c | 62 +++++++++++++++-------------------------------------------- 1 file changed, 16 insertions(+), 46 deletions(-) (limited to 'server/main.c') diff --git a/server/main.c b/server/main.c index f899f7e..b6745e0 100644 --- a/server/main.c +++ b/server/main.c @@ -1,62 +1,32 @@ -#include -#include -#include -#include - -#include - +#include #define CONTAINER_IMPLEMENTATION +#define HSET_MAX_BUCKET_SIZE 4 #include #undef CONTAINER_IMPLEMENTATION -#include "channel.h" - -#define MAIN_PORT 8164 +#include "tcp.h" -enum request_type { - spawn_channel, - get_channels, -}; +#include -static int* open_sockets; -static int request_socket; +#define MAIN_PORT 8164 -void init(void) { - open_sockets = array_new(int, 0); - request_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); - struct sockaddr_in addr = {.sin_family = AF_INET, .sin_port = htons(MAIN_PORT), .sin_addr = {INADDR_ANY}}; - - for (int retries = 0; retries <= 5; ++retries) { - if (bind(request_socket, (struct sockaddr*)&addr, sizeof(addr)) == 0) break; - else { - perror("init (bind)"); - sleep(1); - } +void setup_signal(void) { + struct sigaction signal = {.sa_handler = print_state, .sa_mask = {{0}}, .sa_flags = 0}; + if (sigaction(SIGUSR1, &signal, NULL) != 0) { + WHERE; + exit(EXIT_FAILURE); } -} - -enum request_type wait_for_requests(void) { - return spawn_channel; -} - -int spawn_channel_thread(void) { - return 0; -} - -void event_loop(void) { - init(); - while (1) { - enum request_type req = wait_for_requests(); - switch (req) { - case spawn_channel: break; - case get_channels: break; - } + signal.sa_handler = exit_tcp; + if (sigaction(SIGTERM, &signal, NULL) != 0) { + WHERE; + exit(EXIT_FAILURE); } } int main(int argc, char *argv[]) { (void)argc; (void)argv; - thread_loop(); + setup_signal(); + tcp_loop(); return 0; } -- cgit v1.2.3-70-g09d2