diff --git a/memberd-21.1/main.c b/memberd-21.1/main.c index 8ce6514..87ac046 100644 --- a/memberd-21.1/main.c +++ b/memberd-21.1/main.c @@ -27,6 +27,7 @@ #include // for fprintf(), stderr, et al #include // for getopt(), getpid(), select() et al. #include +#include /* darling-lol M58F42: SIGPIPE guard */ #include #include #include @@ -336,6 +337,11 @@ void ReadConfigFile(int* maxCache, int* defaultExpiration, int* defaultNegExpira } int main (int argc, char * const argv[]) { + /* darling-lol M58F42: ignore SIGPIPE (same class of defect as M58F40 for + * shellspawn). memberd is a launchd daemon that talks to clients over + * sockets; a peer closing mid-write otherwise raises SIGPIPE and kills the + * daemon under the default disposition, breaking the container bootstrap. */ + signal(SIGPIPE, SIG_IGN); const char * const argv0 = argv[0]; static const char * const argString = "dhvxsctru:g:lL"; char c;