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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user