--- lbbs/src/net_server.c 2025/05/25 08:10:48 1.40 +++ 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 @@ -185,8 +186,6 @@ int net_server(const char *hostaddr, in_ } else { - log_std("Debug: trie dict nodes used = %d, limit = %d\n", trie_dict_used_nodes(), TRIE_NODE_PER_POOL); - unload_menu(p_bbs_menu); free(p_bbs_menu); @@ -216,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) @@ -265,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)