summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2021-06-28 19:49:00 +0100
committerJeremy Harris <jgh146exb@wizmail.org>2021-06-28 20:12:55 +0100
commita57492a480bce6d41dec5255d4a55550aa9d4f87 (patch)
treeadc147f41c7acebda5a0320073e8092d17896293 /src
parent0415468df326fefc339a936e47479ff0cf197092 (diff)
Readonly-config: not supported by Solaris 10
Broken-by: 753739fdef
Diffstat (limited to 'src')
-rw-r--r--src/OS/os.h-SunOS54
-rw-r--r--src/src/store.c9
2 files changed, 8 insertions, 5 deletions
diff --git a/src/OS/os.h-SunOS5 b/src/OS/os.h-SunOS5
index f5bc31668..1ceafa701 100644
--- a/src/OS/os.h-SunOS5
+++ b/src/OS/os.h-SunOS5
@@ -38,6 +38,10 @@ it seems. */
# define MISSING_UNSETENV_3
#endif
+#if _POSIX_C_SOURCE < 200809L
+# define MISSING_POSIX_MEMALIGN
+#endif
+
/* SunOS5 doesn't accept getcwd(NULL, 0) to auto-allocate
a buffer */
diff --git a/src/src/store.c b/src/src/store.c
index ad4da3c2e..e8819e3e3 100644
--- a/src/src/store.c
+++ b/src/src/store.c
@@ -255,14 +255,11 @@ log_write(0, LOG_MAIN|LOG_PANIC_DIE, "Taint mismatch, %s: %s %d\n",
void
store_writeprotect(int pool)
{
+#if !defined(COMPILE_UTILITY) && !defined(MISSING_POSIX_MEMALIGN)
for (storeblock * b = chainbase[pool]; b; b = b->next)
- {
-#ifndef COMPILE_UTILITY
if (mprotect(b, ALIGNED_SIZEOF_STOREBLOCK + b->length, PROT_READ) != 0)
- DEBUG(D_any) debug_printf("config block mprotect: (%d) %s\n", errno, strerror(errno))
+ DEBUG(D_any) debug_printf("config block mprotect: (%d) %s\n", errno, strerror(errno));
#endif
- ;
- }
}
/******************************************************************************/
@@ -346,12 +343,14 @@ if (size > yield_length[pool])
if (++nblocks[pool] > maxblocks[pool])
maxblocks[pool] = nblocks[pool];
+#ifndef MISSING_POSIX_MEMALIGN
if (pool == POOL_CONFIG)
{
long pgsize = sysconf(_SC_PAGESIZE);
posix_memalign((void **)&newblock, pgsize, (mlength + pgsize - 1) & ~(pgsize - 1));
}
else
+#endif
newblock = internal_store_malloc(mlength, func, linenumber);
newblock->next = NULL;
newblock->length = length;