diff --git a/src/net/listen.c b/src/net/listen.c index aabd69127be37a0410fea0372ee42b9fb5f362e5..762bf375c588103978d455f08b093ffac24e4b3b 100644 --- a/src/net/listen.c +++ b/src/net/listen.c @@ -1159,7 +1159,8 @@ void lkt_listen(struct lkt_state *srv) { int fds_max_config = 16; /* Default value */ - assert(database_config_get(srv->db, "server", "max_clients", &fds_max_config)); + if (!database_config_get(srv->db, "server", "max_clients", &fds_max_config)) + LOG_FATAL("Failed to get the 'server:max_client' field from the configuration"); srv->fds_max = fds_max_config; srv->fds = LKT_ALLOC_STRUCT_ARRAY(pollfd, srv->fds_max); @@ -1199,7 +1200,7 @@ lkt_listen(struct lkt_state *srv) init_socket_func init_sock = is_unix_socket ? init_listening_socket_unix : init_listening_socket_net; if ((srv->fds[0].fd = init_sock(srv->host, srv->port)) < 0) - return; + LOG_FATAL("Failed to init socket: %s:%s", srv->host, srv->port); if (is_unix_socket) init_permission_socket_unix(srv->host, perms); @@ -1213,10 +1214,16 @@ lkt_listen(struct lkt_state *srv) /* Listen */ for (;;) { handle_signals(srv); - if (handle_network_events(srv) < 0) + if (handle_network_events(srv) < 0) { + LOG_ERROR("LISTEN", "Failed to handle_network_events"); break; - if (handle_idle_events(srv) < 0) + } + if (handle_idle_events(srv) < 0) { + LOG_ERROR("LISTEN", "Failed to handle_idle_events"); break; + } handle_queue_events(srv); } + + LOG_FATAL("Infinit event loop break, should not happen"); }