diff options
Diffstat (limited to 'src/event/ngx_event_udp.c')
| -rw-r--r-- | src/event/ngx_event_udp.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/event/ngx_event_udp.c b/src/event/ngx_event_udp.c index 65eb22fd2..557283050 100644 --- a/src/event/ngx_event_udp.c +++ b/src/event/ngx_event_udp.c @@ -256,7 +256,9 @@ ngx_event_recvmsg(ngx_event_t *ev) rev = c->read; c->udp->buffer = &buf; + rev->ready = 1; + rev->active = 0; rev->handler(rev); @@ -265,6 +267,7 @@ ngx_event_recvmsg(ngx_event_t *ev) } rev->ready = 0; + rev->active = 1; goto next; } @@ -343,6 +346,7 @@ ngx_event_recvmsg(ngx_event_t *ev) rev = c->read; wev = c->write; + rev->active = 1; wev->ready = 1; rev->log = log; @@ -453,7 +457,9 @@ ngx_udp_shared_recv(ngx_connection_t *c, u_char *buf, size_t size) ngx_memcpy(buf, b->pos, n); c->udp->buffer = NULL; + c->read->ready = 0; + c->read->active = 1; return n; } |
