--- lbbs/src/net_server.c 2025/05/25 08:15:03 1.41 +++ lbbs/src/net_server.c 2025/05/31 14:05:53 1.43 @@ -25,6 +25,7 @@ #include "fork.h" #include "menu.h" #include "file_loader.h" +#include "section_list_loader.h" #include #include #include @@ -214,6 +215,16 @@ int net_server(const char *hostaddr, in_ sd_notify(0, "READY=1"); } + if (SYS_section_list_reload && !SYS_server_exit) + { + SYS_section_list_reload = 0; + + if (section_list_loader_reload() < 0) + { + log_error("ksection_list_loader_reload() failed\n"); + } + } + nfds = epoll_wait(epollfd, events, MAX_EVENTS, 100); // 0.1 second if (nfds < 0) @@ -263,9 +274,16 @@ int net_server(const char *hostaddr, in_ log_std("Accept connection from %s:%d\n", hostaddr_client, port_client); - if (fork_server() < 0) + if (SYS_child_process_count - 1 < BBS_max_client) + { + if (fork_server() < 0) + { + log_error("fork_server() error\n"); + } + } + else { - log_error("fork_server() error\n"); + log_error("Rejected client connection over limit (%d)\n", SYS_child_process_count - 1); } if (close(socket_client) == -1)