]> git.kaiwu.me - nginx.git/commit
Upstream zone: store peers->name and its data in shared memory.
authorRuslan Ermilov <ru@nginx.com>
Tue, 1 Aug 2017 16:12:10 +0000 (19:12 +0300)
committerRuslan Ermilov <ru@nginx.com>
Tue, 1 Aug 2017 16:12:10 +0000 (19:12 +0300)
commitd846f27638525f478ea07f5574b5569ce2ab1ac2
tree66119059c9f70eca26859e42dab62d25aafcf607
parentb992f7259ba4763178f9d394b320bcc5de88818b
Upstream zone: store peers->name and its data in shared memory.

The shared objects should generally be allocated from shared memory.
While peers->name and the data it points to allocated from cf->pool
happened to work on UNIX, it broke on Windows.  On UNIX this worked
only because the shared memory zone for upstreams is re-created for
every new configuration.

But on Windows, a worker process does not inherit the address space
of the master process, so the peers->name pointed to data allocated
from cf->pool by the master process, and was invalid.
src/http/modules/ngx_http_upstream_zone_module.c
src/stream/ngx_stream_upstream_zone_module.c