summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordefault <nobody@localhost>2024-05-21 18:57:13 +0200
committerdefault <nobody@localhost>2024-05-21 18:57:13 +0200
commitcdfaf6dc57a03503cec46cad5fbfd6fec45b0f52 (patch)
tree17f477dfb3671185930a721648979705551537c3
parent4777fc86cb962917a8f34afb3bfa40f26290815d (diff)
New compilation variable WITHOUT_SHM, to disable shared memory functions.
-rw-r--r--README.md6
-rw-r--r--httpd.c23
2 files changed, 29 insertions, 0 deletions
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 */
{