summaryrefslogtreecommitdiff
path: root/slirp/misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'slirp/misc.c')
-rw-r--r--slirp/misc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/slirp/misc.c b/slirp/misc.c
index 19dbec491f..08eba6adc0 100644
--- a/slirp/misc.c
+++ b/slirp/misc.c
@@ -119,6 +119,7 @@ fork_exec(struct socket *so, const char *ex, int do_pty)
char *bptr;
const char *curarg;
int c, i, ret;
+ pid_t pid;
DEBUG_CALL("fork_exec");
DEBUG_ARG("so = %lx", (long)so);
@@ -142,7 +143,8 @@ fork_exec(struct socket *so, const char *ex, int do_pty)
}
}
- switch(fork()) {
+ pid = fork();
+ switch(pid) {
case -1:
lprint("Error: fork failed: %s\n", strerror(errno));
close(s);
@@ -206,6 +208,7 @@ fork_exec(struct socket *so, const char *ex, int do_pty)
exit(1);
default:
+ qemu_add_child_watch(pid);
if (do_pty == 2) {
close(s);
so->s = master;