diff options
author | trawick <trawick@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-09 16:37:50 +0000 |
---|---|---|
committer | trawick <trawick@13f79535-47bb-0310-9956-ffa450edef68> | 2009-11-09 16:37:50 +0000 |
commit | b3e84eaa7221f2cafd1ac47b762beed5e5567a78 (patch) | |
tree | 13fd35a2ba29c2f3820bda999ba4628242b72d48 /poll/unix/port.c | |
parent | 333c61796be04d5ed7df84b8d8a806ff6bc9731e (diff) | |
download | libapr-b3e84eaa7221f2cafd1ac47b762beed5e5567a78.tar.gz |
fix pollcb hangs on Solaris when using Event Ports
passing nget=n will block until n events are available
(or timeout/signal occurs)
possible future optimization:
in order to retrieve 1 or more events, first call port_getn()
with nget=0 to find out how many events are available, then
call it again with the number available
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@834136 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'poll/unix/port.c')
-rw-r--r-- | poll/unix/port.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/poll/unix/port.c b/poll/unix/port.c index 1d2613df1..a4509ac8a 100644 --- a/poll/unix/port.c +++ b/poll/unix/port.c @@ -537,7 +537,7 @@ static apr_status_t impl_pollcb_poll(apr_pollcb_t *pollcb, { apr_pollfd_t *pollfd; apr_status_t rv; - unsigned int i, nget = pollcb->nalloc; + unsigned int i, nget = 1; rv = call_port_getn(pollcb->fd, pollcb->pollset.port, pollcb->nalloc, &nget, timeout); |