836a10587e
Took me an annoyingly long time to find a mask that the ndk was happy with. The original mask gives identical permissions as this one (and several other variants I tried). printf("%d\n", ~(S_IRUSR | S_IWUSR)); returns a negative number, and I guess that is the reason the ndk is unhappy. Original error message: restart.c:233:48: error: 'umask' called with invalid mode mode_t oldmask = umask(~(S_IRUSR | S_IWUSR)); ^ /home/builder/.termux-build/_cache/android-r21d-api-24-v3/bin/../sysroot/usr/include/bits/fortify/stat.h:47:5: note: from 'diagnose_if' attribute on 'umask': __clang_error_if(mode & ~0777, "'umask' called with invalid mode") { ^ ~~~~~~~~~~~~ /home/builder/.termux-build/_cache/android-r21d-api-24-v3/bin/../sysroot/usr/include/sys/cdefs.h:134:52: note: expanded from macro '__clang_error_if' ^ 1 error generated. make[2]: *** [Makefile:1060: memcached-restart.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [Makefile:1699: all-recursive] Error 1
12 lines
430 B
Diff
12 lines
430 B
Diff
--- ../restart.c.orig 2021-02-04 16:19:28.622976160 +0000
|
|
+++ ./restart.c 2021-02-04 17:49:12.448526739 +0000
|
|
@@ -230,7 +230,7 @@
|
|
|
|
// restrictive permissions for the metadata file.
|
|
// TODO: also for the mmap file eh? :P
|
|
- mode_t oldmask = umask(~(S_IRUSR | S_IWUSR));
|
|
+ mode_t oldmask = umask(S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
|
|
FILE *f = fopen(metafile, "w");
|
|
umask(oldmask);
|
|
if (f == NULL) {
|