summaryrefslogtreecommitdiff
path: root/poll/unix/wakeup.c
diff options
context:
space:
mode:
Diffstat (limited to 'poll/unix/wakeup.c')
-rw-r--r--poll/unix/wakeup.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/poll/unix/wakeup.c b/poll/unix/wakeup.c
index 7c4d4247a..01b84f9a9 100644
--- a/poll/unix/wakeup.c
+++ b/poll/unix/wakeup.c
@@ -36,6 +36,9 @@ apr_status_t apr_poll_create_wakeup_pipe(apr_pool_t *pool, apr_pollfd_t *pfd,
pool)) != APR_SUCCESS)
return rv;
+ /* Read end of the pipe is non-blocking */
+ apr_file_pipe_timeout_set(wakeup_pipe[0], 0);
+
pfd->reqevents = APR_POLLIN;
pfd->desc_type = APR_POLL_FILE;
pfd->desc.f = wakeup_pipe[0];
@@ -80,6 +83,7 @@ apr_status_t apr_poll_create_wakeup_pipe(apr_pool_t *pool, apr_pollfd_t *pfd,
{
apr_status_t rv;
+ /* Read end of the pipe is non-blocking */
if ((rv = apr_file_pipe_create_ex(&wakeup_pipe[0], &wakeup_pipe[1],
APR_WRITE_BLOCK,
pool)) != APR_SUCCESS)