diff options
author | Max Romanov <max.romanov@nginx.com> | 2017-10-19 17:36:56 +0300 |
---|---|---|
committer | Max Romanov <max.romanov@nginx.com> | 2017-10-19 17:36:56 +0300 |
commit | 6532e46465276efcedae299ce290eb8dff0ece57 (patch) | |
tree | 89c2716d8eb96a9f527b9b87df522fb9e8661f3a /src/nxt_process.c | |
parent | 6fd465f9d24040946f4218c281bd82517d5a350c (diff) | |
download | unit-6532e46465276efcedae299ce290eb8dff0ece57.tar.gz unit-6532e46465276efcedae299ce290eb8dff0ece57.tar.bz2 |
Supporting concurrent shared memory fd receive in router.
Two different router threads may send different requests to single
application worker. In this case shared memory fds from worker
to router will be send over 2 different router ports. These fds
will be received and processed by different threads in any order.
This patch made possible to add incoming shared memory segments in
arbitrary order. Additionally, array and memory pool are no longer
used to store segments because of pool's single threaded nature.
Custom array-like structure nxt_port_mmaps_t introduced.
Diffstat (limited to 'src/nxt_process.c')
-rw-r--r-- | src/nxt_process.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/nxt_process.c b/src/nxt_process.c index 272837b6..1b01713d 100644 --- a/src/nxt_process.c +++ b/src/nxt_process.c @@ -61,8 +61,8 @@ nxt_process_create(nxt_task_t *task, nxt_process_t *process) nxt_process_close_ports(task, p); } else { - nxt_port_mmaps_destroy(p->incoming, 0); - nxt_port_mmaps_destroy(p->outgoing, 0); + nxt_port_mmaps_destroy(&p->incoming, 0); + nxt_port_mmaps_destroy(&p->outgoing, 0); } } nxt_runtime_process_loop; |