From cdfaf6dc57a03503cec46cad5fbfd6fec45b0f52 Mon Sep 17 00:00:00 2001 From: default Date: Tue, 21 May 2024 18:57:13 +0200 Subject: [PATCH] New compilation variable WITHOUT_SHM, to disable shared memory functions. --- README.md | 6 ++++++ httpd.c | 23 +++++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/README.md b/README.md index 1e5c2e8..6c1e31b 100644 --- a/README.md +++ b/README.md @@ -71,6 +71,12 @@ If your compilation process complains about undefined references to `shm_open()` make LDFLAGS=-lrt ``` +If it still doesn't work (because your system does not implement the shared memory functions) or you are just not interested, you can compile out with + +```sh +make CFLAGS=-DWITHOUT_SHM +``` + See the administrator manual on how to proceed from here. ## Testing via Docker diff --git a/httpd.c b/httpd.c index d63fa0f..993aa1c 100644 --- a/httpd.c +++ b/httpd.c @@ -653,6 +653,29 @@ void term_handler(int s) } +#ifdef WITHOUT_SHM + +/* dummy versions */ + +int shm_open(const char *name, int flags, mode_t mode) +{ + (void)name; + (void)flags; + (void)mode; + + errno = ENOTSUP; + return -1; +} + +int shm_unlink(const char *name) +{ + (void)name; + return -1; +} + + +#endif + srv_state *srv_state_op(xs_str **fname, int op) /* opens or deletes the shared memory object */ {