summaryrefslogtreecommitdiffstats
path: root/client.c
diff options
context:
space:
mode:
authornicm <nicm>2017-07-12 09:24:17 +0000
committernicm <nicm>2017-07-12 09:24:17 +0000
commit0453ad01468460d5fca09457ed7c862685076931 (patch)
tree7e63dbfcf45de2deab536f6800329244c38b2348 /client.c
parented3cfaafb2c04776b6452fa968715a3626d99a4a (diff)
Move signal code into proc.c.
Diffstat (limited to 'client.c')
-rw-r--r--client.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/client.c b/client.c
index f00b2874..efc82e5f 100644
--- a/client.c
+++ b/client.c
@@ -157,7 +157,7 @@ retry:
close(lockfd);
return (-1);
}
- fd = server_start(base, lockfd, lockfile);
+ fd = server_start(client_proc, base, lockfd, lockfile);
}
if (locked && lockfd >= 0) {
@@ -261,7 +261,8 @@ client_main(struct event_base *base, int argc, char **argv, int flags)
}
/* Create client process structure (starts logging). */
- client_proc = proc_start("client", base, 0, client_signal);
+ client_proc = proc_start("client");
+ proc_set_signals(client_proc, client_signal);
/* Initialize the client socket and start the server. */
fd = client_connect(base, socket_path, cmdflags & CMD_STARTSERVER);
@@ -364,7 +365,7 @@ client_main(struct event_base *base, int argc, char **argv, int flags)
if (client_exittype == MSG_EXEC) {
if (client_flags & CLIENT_CONTROLCONTROL)
tcsetattr(STDOUT_FILENO, TCSAFLUSH, &saved_tio);
- clear_signals(0);
+ proc_clear_signals(client_proc);
client_exec(client_execshell, client_execcmd);
}
@@ -627,7 +628,7 @@ client_dispatch_wait(struct imsg *imsg)
if (datalen == 0 || data[datalen - 1] != '\0')
fatalx("bad MSG_SHELL string");
- clear_signals(0);
+ proc_clear_signals(client_proc);
client_exec(data, shell_command);
/* NOTREACHED */
case MSG_DETACH: