Index: include/arch/unix/apr_arch_poll_private.h
===================================================================
--- include/arch/unix/apr_arch_poll_private.h	(revision 900029)
+++ include/arch/unix/apr_arch_poll_private.h	(working copy)
@@ -115,6 +115,7 @@
     apr_uint32_t flags;
     /* Pipe descriptors used for wakeup */
     apr_file_t *wakeup_pipe[2];
+    apr_pollfd_t wakeup_pfd;
     apr_pollset_private_t *p;
     apr_pollset_provider_t *provider;
 };
Index: poll/unix/pollset.c
===================================================================
--- poll/unix/pollset.c	(revision 900029)
+++ poll/unix/pollset.c	(working copy)
@@ -153,15 +153,13 @@
         pollset->provider = provider;
     }
     if (flags & APR_POLLSET_WAKEABLE) {
-        apr_pollfd_t pfd;
-
         /* Create wakeup pipe */
-        if ((rv = create_wakeup_pipe(pollset->pool, &pfd,
+        if ((rv = create_wakeup_pipe(pollset->pool, &pollset->wakeup_pfd,
                                      pollset->wakeup_pipe)) != APR_SUCCESS) {
             return rv;
         }
 
-        if ((rv = apr_pollset_add(pollset, &pfd)) != APR_SUCCESS) {
+        if ((rv = apr_pollset_add(pollset, &pollset->wakeup_pfd)) != APR_SUCCESS) {
             return rv;
         }
     }
