From 599b2efb7db343143d491deef3a6362715180913 Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Sun, 5 Sep 2021 13:04:05 +0200
Subject: [PATCH] SRV: Add more logs to know what went wrong with the
 lkt_listen function

---
 src/net/listen.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/net/listen.c b/src/net/listen.c
index aabd6912..762bf375 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");
 }
-- 
GitLab