summaryrefslogtreecommitdiffhomepage
path: root/src/event/ngx_event_accept.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/event/ngx_event_accept.c')
-rw-r--r--src/event/ngx_event_accept.c9
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;