Browse Source

New compilation variable WITHOUT_SHM, to disable shared memory functions.

default 11 months ago
parent
commit
cdfaf6dc57
2 changed files with 29 additions and 0 deletions
  1. 6 0
      README.md
  2. 23 0
      httpd.c

+ 6 - 0
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

+ 23 - 0
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 */
 {