diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2021-06-28 19:49:00 +0100 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2021-06-28 20:12:55 +0100 |
commit | a57492a480bce6d41dec5255d4a55550aa9d4f87 (patch) | |
tree | adc147f41c7acebda5a0320073e8092d17896293 /src | |
parent | 0415468df326fefc339a936e47479ff0cf197092 (diff) |
Readonly-config: not supported by Solaris 10
Broken-by: 753739fdef
Diffstat (limited to 'src')
-rw-r--r-- | src/OS/os.h-SunOS5 | 4 | ||||
-rw-r--r-- | src/src/store.c | 9 |
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; |