summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pjlib/src/pj/ioqueue_select.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/pjlib/src/pj/ioqueue_select.c b/pjlib/src/pj/ioqueue_select.c
index 6be66ae5..b991f98b 100644
--- a/pjlib/src/pj/ioqueue_select.c
+++ b/pjlib/src/pj/ioqueue_select.c
@@ -830,6 +830,7 @@ on_error:
PJ_DEF(int) pj_ioqueue_poll( pj_ioqueue_t *ioqueue, const pj_time_val *timeout)
{
pj_fd_set_t rfdset, wfdset, xfdset;
+ int nfds;
int count, i, counter;
pj_ioqueue_key_t *h;
struct event
@@ -876,10 +877,12 @@ PJ_DEF(int) pj_ioqueue_poll( pj_ioqueue_t *ioqueue, const pj_time_val *timeout)
validate_sets(ioqueue, &rfdset, &wfdset, &xfdset);
#endif
+ nfds = ioqueue->nfds;
+
/* Unlock ioqueue before select(). */
pj_lock_release(ioqueue->lock);
- count = pj_sock_select(ioqueue->nfds+1, &rfdset, &wfdset, &xfdset,
+ count = pj_sock_select(nfds+1, &rfdset, &wfdset, &xfdset,
timeout);
if (count == 0)