Using port 'post' facility to proxy remove pid message to workers.

Remove pid proxying to worker engines implementation was originally
overcomplicated.  Memory pool and 2 engine posts (there and back again) are
optimized out and replaced with band new nxt_port_post() call.
This commit is contained in:
Max Romanov
2017-10-04 15:01:15 +03:00
parent 730f5a9dd9
commit 85e485776b
4 changed files with 30 additions and 86 deletions

View File

@@ -283,7 +283,7 @@ nxt_port_new_port_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg)
nxt_port_write_enable(task, port);
msg->new_port = port;
msg->u.new_port = port;
}
@@ -441,6 +441,8 @@ nxt_port_remove_pid_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg)
nxt_memcpy(&pid, buf->mem.pos, sizeof(pid));
msg->u.removed_pid = pid;
nxt_debug(task, "port remove pid %PI handler", pid);
rt = task->thread->runtime;