diff options
| author | NRK <nrk@disroot.org> | 2022-07-14 07:26:40 +0600 | 
|---|---|---|
| committer | Hiltjo Posthuma <hiltjo@codemadness.org> | 2022-07-15 20:53:58 +0200 | 
| commit | 6613d9f9a1a5630bab30bc2b70bdc793977073ee (patch) | |
| tree | 914cd55c1688ed675fab188ac562b17904471da1 | |
| parent | 9bffa845faa181fb3afe05f3dc86ad79c80736be (diff) | |
do not call signal-unsafe function inside sighanlder
die() calls vprintf, fputc and exit; none of these are
async-signal-safe, see `man 7 signal-safety`.
| -rw-r--r-- | dwm.c | 4 | 
1 files changed, 2 insertions, 2 deletions
| @@ -1541,6 +1541,8 @@ setup(void)  	Atom utf8string;  	/* clean up any zombies immediately */ +	if (signal(SIGCHLD, sigchld) == SIG_ERR) +		die("can't install SIGCHLD handler:");  	sigchld(0);  	/* init screen */ @@ -1638,8 +1640,6 @@ showhide(Client *c)  void  sigchld(int unused)  { -	if (signal(SIGCHLD, sigchld) == SIG_ERR) -		die("can't install SIGCHLD handler:");  	while (0 < waitpid(-1, NULL, WNOHANG));  } | 
