--- lbbs/src/file_loader.c 2025/11/04 13:49:51 1.18 +++ lbbs/src/file_loader.c 2025/11/11 00:28:05 1.21 @@ -3,9 +3,13 @@ * file_loader * - shared memory based file loader * - * Copyright (C) 2004-2025 by Leaflet + * Copyright (C) 2004-2025 Leaflet */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include "file_loader.h" #include "log.h" #include "str_process.h" @@ -52,7 +56,7 @@ static void trie_file_dict_cleanup_cb(co { int shmid = (int)value; - if (shmctl(shmid, IPC_RMID, NULL) == -1) + if (shmid != 0 && shmctl(shmid, IPC_RMID, NULL) == -1) { log_error("shmctl(shmid=%d, IPC_RMID) error (%d)\n", shmid, errno); } @@ -172,7 +176,7 @@ int load_file(const char *filename) { log_error("trie_dict_set(%s) error\n", filename); - if (shmctl(shmid, IPC_RMID, NULL) == -1) + if (shmid != 0 && shmctl(shmid, IPC_RMID, NULL) == -1) { log_error("shmctl(shmid=%d, IPC_RMID) error (%d)\n", shmid, errno); }