summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorylavic <ylavic@13f79535-47bb-0310-9956-ffa450edef68>2021-11-10 14:22:16 +0000
committerylavic <ylavic@13f79535-47bb-0310-9956-ffa450edef68>2021-11-10 14:22:16 +0000
commit496056f17f2766761f5acb6a7949662a99c821c1 (patch)
treebd1c1d3d4ac0e0d9aa58f3032054454bac9878c4
parent17fd195179b4987ce3bbb7e0abc4c039af61ba26 (diff)
downloadlibapr-496056f17f2766761f5acb6a7949662a99c821c1.tar.gz
Merge r1894917 from trunk:
Follow up to r1894914: non-blocking wakeup pipe reads on Windows too. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/branches/1.7.x@1894918 13f79535-47bb-0310-9956-ffa450edef68
-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 6c3dcd6fb..c1e675e30 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)