diff options
Diffstat (limited to 'hw/xquartz/quartzStartup.c')
-rw-r--r-- | hw/xquartz/quartzStartup.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/hw/xquartz/quartzStartup.c b/hw/xquartz/quartzStartup.c index 4dc4dd630..bb92b6d3c 100644 --- a/hw/xquartz/quartzStartup.c +++ b/hw/xquartz/quartzStartup.c @@ -95,6 +95,15 @@ QuartzInitServer(int argc, char **argv, char **envp) if (!create_thread(server_thread, args)) { FatalError("can't create secondary thread\n"); } + + /* Block signals on the AppKit thread that the X11 expects to handle on its thread */ + sigset_t set; + sigemptyset(&set); + sigaddset(&set, SIGALRM); +#ifdef BUSFAULT + sigaddset(&set, SIGBUS); +#endif + pthread_sigmask(SIG_BLOCK, &set, NULL); } int |