[nginx] svn commit: r4934 - trunk/src/core

ru at nginx.com ru at nginx.com
Fri Nov 23 12:43:58 UTC 2012


Author: ru
Date: 2012-11-23 12:43:58 +0000 (Fri, 23 Nov 2012)
New Revision: 4934
URL: http://trac.nginx.org/nginx/changeset/4934/nginx

Log:
Core: don't reuse shared memory zone that changed ownership (ticket #210).

nginx doesn't allow the same shared memory zone to be used for different
purposes, but failed to check this on reconfiguration.  If a shared memory
zone was used for another purpose in the new configuration, nginx attempted
to reuse it and crashed.


Modified:
   trunk/src/core/ngx_cycle.c

Modified: trunk/src/core/ngx_cycle.c
===================================================================
--- trunk/src/core/ngx_cycle.c	2012-11-21 14:23:26 UTC (rev 4933)
+++ trunk/src/core/ngx_cycle.c	2012-11-23 12:43:58 UTC (rev 4934)
@@ -447,7 +447,9 @@
                 continue;
             }
 
-            if (shm_zone[i].shm.size == oshm_zone[n].shm.size) {
+            if (shm_zone[i].tag == oshm_zone[n].tag
+                && shm_zone[i].shm.size == oshm_zone[n].shm.size)
+            {
                 shm_zone[i].shm.addr = oshm_zone[n].shm.addr;
 
                 if (shm_zone[i].init(&shm_zone[i], oshm_zone[n].data)



More information about the nginx-devel mailing list