diff src/event/ngx_event_accept.c @ 611:3f8a2132b93d release-0.3.27

nginx-0.3.27-RELEASE import *) Change: the "variables_hash_max_size" and "variables_hash_bucket_size" directives. *) Feature: the $body_bytes_sent variable can be used not only in the "log_format" directive. *) Feature: the $ssl_protocol and $ssl_cipher variables. *) Feature: the cache line size detection for widespread CPUs at start time. *) Feature: now the "accept_mutex" directive is supported using fcntl(2) on platforms different from i386, amd64, sparc64, and ppc. *) Feature: the "lock_file" directive and the --with-lock-path=PATH autoconfiguration directive. *) Bugfix: if the HTTPS protocol was used in the "proxy_pass" directive then the requests with the body was not transferred.
author Igor Sysoev <igor@sysoev.ru>
date Wed, 08 Feb 2006 15:33:12 +0000
parents 326634fb9d47
children 5ef026a2ac74
line wrap: on
line diff
--- a/src/event/ngx_event_accept.c
+++ b/src/event/ngx_event_accept.c
@@ -259,9 +259,8 @@ ngx_event_accept(ngx_event_t *ev)
 ngx_int_t
 ngx_trylock_accept_mutex(ngx_cycle_t *cycle)
 {
-    if (*ngx_accept_mutex == 0
-        && ngx_atomic_cmp_set(ngx_accept_mutex, 0, ngx_pid))
-    {
+    if (ngx_shmtx_trylock(&ngx_accept_mutex)) {
+
         ngx_log_debug0(NGX_LOG_DEBUG_EVENT, cycle->log, 0,
                        "accept mutex locked");
 
@@ -271,7 +270,7 @@ ngx_trylock_accept_mutex(ngx_cycle_t *cy
         }
 
         if (ngx_enable_accept_events(cycle) == NGX_ERROR) {
-            *ngx_accept_mutex = 0;
+            ngx_shmtx_unlock(&ngx_accept_mutex);
             return NGX_ERROR;
         }