diff options
author | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2017-01-04 00:44:45 +0000 |
---|---|---|
committer | Ian Jackson <ijackson@chiark.greenend.org.uk> | 2017-01-04 01:05:59 +0000 |
commit | 4ebcd3879910bcc41c7cee3578337381ab092121 (patch) | |
tree | 76f4545408981a69a3064a568c34e5c157e7d720 /twm.c | |
parent | e4a2a28e51f9a4f57ef146406579d72be894a520 (diff) |
Use the self-pipe trick to fix the signal handling bug.
Closes:#850079.
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
Diffstat (limited to 'twm.c')
-rw-r--r-- | twm.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -258,13 +258,13 @@ main(argc, argv, environ) /* djhjr - 6/22/01 */ #ifndef NO_SOUND_SUPPORT #define sounddonehandler(sig) \ - if (signal (sig, SIG_IGN) != SIG_IGN) (void) signal (sig, PlaySoundDone) + HandleSignal (sig, PlaySoundDone) #else #define sounddonehandler(sig) \ - if (signal (sig, SIG_IGN) != SIG_IGN) (void) signal (sig, Done) + HandleSignal (sig, Done) #endif #define donehandler(sig) \ - if (signal (sig, SIG_IGN) != SIG_IGN) (void) signal (sig, Done) + HandleSignal (sig, Done) sounddonehandler (SIGINT); sounddonehandler (SIGHUP); @@ -282,7 +282,7 @@ main(argc, argv, environ) #undef donehandler /* djhjr - 7/31/98 */ - signal (SIGUSR1, QueueRestartVtwm); + HandleSignal (SIGUSR1, QueueRestartVtwm); Home = getenv("HOME"); if (Home == NULL) |