diff --git a/qrexec/qrexec-agent-data.c b/qrexec/qrexec-agent-data.c index 074ed45..7d314f9 100644 --- a/qrexec/qrexec-agent-data.c +++ b/qrexec/qrexec-agent-data.c @@ -295,6 +295,7 @@ int process_child_io(libvchan_t *data_vchan, int remote_process_status = -1; int ret, max_fd; struct timespec zero_timeout = { 0, 0 }; + struct timespec normal_timeout = { 10, 0 }; struct buffer stdin_buf; sigemptyset(&selectmask); @@ -386,7 +387,7 @@ int process_child_io(libvchan_t *data_vchan, /* check for other FDs, but exit immediately */ ret = pselect(max_fd + 1, &rdset, &wrset, NULL, &zero_timeout, &selectmask); } else - ret = pselect(max_fd + 1, &rdset, &wrset, NULL, NULL, &selectmask); + ret = pselect(max_fd + 1, &rdset, &wrset, NULL, &normal_timeout, &selectmask); if (ret < 0) { if (errno == EINTR) continue;