diff options
Diffstat (limited to 'input')
-rw-r--r-- | input/ipc-unix.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/input/ipc-unix.c b/input/ipc-unix.c index 0f4b7132e4..f5c8886a28 100644 --- a/input/ipc-unix.c +++ b/input/ipc-unix.c @@ -20,6 +20,7 @@ #include <unistd.h> #include <poll.h> +#include <signal.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/stat.h> @@ -97,6 +98,11 @@ static void *client_thread(void *p) { pthread_detach(pthread_self()); + // We don't use MSG_NOSIGNAL because the moldy fruit OS doesn't support it. + struct sigaction sa = { .sa_handler = SIG_IGN, .sa_flags = SA_RESTART }; + sigfillset(&sa.sa_mask); + sigaction(SIGPIPE, &sa, NULL); + int rc; struct client_arg *arg = p; |