mirror of
https://github.com/tmux/tmux.git
synced 2024-12-24 01:58:46 +00:00
Sync OpenBSD patchset 684:
Catch SIGCHLD to avoid a zombie, from patrick keshishian.
This commit is contained in:
parent
02fc1fe0da
commit
7163907ab6
11
tmux.c
11
tmux.c
@ -1,4 +1,4 @@
|
||||
/* $Id: tmux.c,v 1.204 2010-02-26 13:31:39 tcunha Exp $ */
|
||||
/* $Id: tmux.c,v 1.205 2010-04-22 21:48:49 tcunha Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||
@ -241,6 +241,7 @@ main(int argc, char **argv)
|
||||
struct keylist *keylist;
|
||||
struct env_data envdata;
|
||||
struct msg_command_data cmddata;
|
||||
struct sigaction sigact;
|
||||
char *s, *shellcmd, *path, *label, *home, *cause;
|
||||
char cwd[MAXPATHLEN], **var;
|
||||
void *buf;
|
||||
@ -540,6 +541,14 @@ main(int argc, char **argv)
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/* Catch SIGCHLD to avoid a zombie when starting the server. */
|
||||
memset(&sigact, 0, sizeof sigact);
|
||||
sigemptyset(&sigact.sa_mask);
|
||||
sigact.sa_handler = SIG_IGN;
|
||||
if (sigaction(SIGCHLD, &sigact, NULL) != 0)
|
||||
fatal("sigaction failed");
|
||||
|
||||
/* Initialise the client socket/start the server. */
|
||||
if ((main_ibuf = client_init(path, cmdflags, flags)) == NULL)
|
||||
exit(1);
|
||||
xfree(path);
|
||||
|
Loading…
Reference in New Issue
Block a user