diff options
Diffstat (limited to 'src/event/ngx_event_accept.c')
| -rw-r--r-- | src/event/ngx_event_accept.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/event/ngx_event_accept.c b/src/event/ngx_event_accept.c index 6401b6aef..7de064f71 100644 --- a/src/event/ngx_event_accept.c +++ b/src/event/ngx_event_accept.c @@ -210,12 +210,17 @@ void ngx_event_accept(ngx_event_t *ev) rinstance = rev->returned_instance; winstance = wev->returned_instance; +#if (NGX_THREADS) + if (*(rev->lock)) { + ngx_spinlock(rev->lock, 1000); + ngx_unlock(rev->lock); + } +#endif + ngx_memzero(rev, sizeof(ngx_event_t)); ngx_memzero(wev, sizeof(ngx_event_t)); ngx_memzero(c, sizeof(ngx_connection_t)); - /* ngx_memzero(c) does ngx_unlock(&c->lock); */ - c->pool = pool; c->listening = ls->listening; |
