aboutsummaryrefslogtreecommitdiff
path: root/client.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2014-10-21 12:35:58 +0100
committerNicholas Marriott <nicholas.marriott@gmail.com>2014-10-21 12:35:58 +0100
commit201036ad80f2e51f7238db2adf05914a4a4f5819 (patch)
tree9ccaf6a087b551846b1c6e71a865cda3aac8c0f1 /client.c
parent65257b8e9b55d8d180265d714ba9b3637643c6dc (diff)
parent696b5a628f0f31f4c3566b5c0ab51fbd9f9f9880 (diff)
downloadrtmux-201036ad80f2e51f7238db2adf05914a4a4f5819.tar.gz
rtmux-201036ad80f2e51f7238db2adf05914a4a4f5819.tar.bz2
rtmux-201036ad80f2e51f7238db2adf05914a4a4f5819.zip
Merge branch 'master' of ssh://git.code.sf.net/p/tmux/tmux-code
Diffstat (limited to 'client.c')
-rw-r--r--client.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/client.c b/client.c
index 6ab53e4f..48cce926 100644
--- a/client.c
+++ b/client.c
@@ -26,6 +26,7 @@
#include <errno.h>
#include <event.h>
#include <fcntl.h>
+#include <signal.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
@@ -437,15 +438,11 @@ client_signal(int sig, unused short events, unused void *data)
struct sigaction sigact;
int status;
- if (!client_attached) {
- switch (sig) {
- case SIGCHLD:
- waitpid(WAIT_ANY, &status, WNOHANG);
- break;
- case SIGTERM:
+ if (sig == SIGCHLD)
+ waitpid(WAIT_ANY, &status, WNOHANG);
+ else if (!client_attached) {
+ if (sig == SIGTERM)
event_loopexit(NULL);
- break;
- }
} else {
switch (sig) {
case SIGHUP: