#include "wake_thread.h" #include #include #include #include #include #include #include #include #include #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wmissing-noreturn" void wake_thread(struct wake_thread_arg* arg) { size_t counter = 0; while (1) { struct connection* conn = queue_pop(arg->server->prepared_connections); struct netmgr_thread* worker = arg->work_params->data[counter]; counter = (counter + 1) % arg->work_params->count; if (netmgr_add_connection(worker, conn->managed_conn)) { errlog(arg->server->logger, "Failed to add connection to worker! %s", strerror(errno)); continue; } } } #pragma clang diagnostic pop