nxt_port.c (1180:9424f6fa0d1a) nxt_port.c (1254:aae6699f4eee)
1
2/*
3 * Copyright (C) Igor Sysoev
4 * Copyright (C) NGINX, Inc.
5 */
6
7#include <nxt_main.h>
8#include <nxt_runtime.h>

--- 224 unchanged lines hidden (view full) ---

233 new_port->pair[1], stream, 0, b);
234}
235
236
237void
238nxt_port_new_port_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg)
239{
240 nxt_port_t *port;
1
2/*
3 * Copyright (C) Igor Sysoev
4 * Copyright (C) NGINX, Inc.
5 */
6
7#include <nxt_main.h>
8#include <nxt_runtime.h>

--- 224 unchanged lines hidden (view full) ---

233 new_port->pair[1], stream, 0, b);
234}
235
236
237void
238nxt_port_new_port_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg)
239{
240 nxt_port_t *port;
241 nxt_process_t *process;
242 nxt_runtime_t *rt;
243 nxt_port_msg_new_port_t *new_port_msg;
244
245 rt = task->thread->runtime;
246
247 new_port_msg = (nxt_port_msg_new_port_t *) msg->buf->mem.pos;
248
249 /* TODO check b size and make plain */

--- 6 unchanged lines hidden (view full) ---

256 nxt_debug(task, "port %PI:%d already exists", new_port_msg->pid,
257 new_port_msg->id);
258
259 nxt_fd_close(msg->fd);
260 msg->fd = -1;
261 return;
262 }
263
241 nxt_runtime_t *rt;
242 nxt_port_msg_new_port_t *new_port_msg;
243
244 rt = task->thread->runtime;
245
246 new_port_msg = (nxt_port_msg_new_port_t *) msg->buf->mem.pos;
247
248 /* TODO check b size and make plain */

--- 6 unchanged lines hidden (view full) ---

255 nxt_debug(task, "port %PI:%d already exists", new_port_msg->pid,
256 new_port_msg->id);
257
258 nxt_fd_close(msg->fd);
259 msg->fd = -1;
260 return;
261 }
262
264 process = nxt_runtime_process_get(rt, new_port_msg->pid);
265 if (nxt_slow_path(process == NULL)) {
266 return;
267 }
268
269 port = nxt_port_new(task, new_port_msg->id, new_port_msg->pid,
270 new_port_msg->type);
263 port = nxt_runtime_process_port_create(task, rt, new_port_msg->pid,
264 new_port_msg->id,
265 new_port_msg->type);
271 if (nxt_slow_path(port == NULL)) {
266 if (nxt_slow_path(port == NULL)) {
272 nxt_process_use(task, process, -1);
273 return;
274 }
275
267 return;
268 }
269
276 nxt_process_port_add(task, process, port);
277
278 nxt_process_use(task, process, -1);
279
280 nxt_fd_nonblocking(task, msg->fd);
281
282 port->pair[0] = -1;
283 port->pair[1] = msg->fd;
284 port->max_size = new_port_msg->max_size;
285 port->max_share = new_port_msg->max_share;
286
287 port->socket.task = task;
288
270 nxt_fd_nonblocking(task, msg->fd);
271
272 port->pair[0] = -1;
273 port->pair[1] = msg->fd;
274 port->max_size = new_port_msg->max_size;
275 port->max_share = new_port_msg->max_share;
276
277 port->socket.task = task;
278
289 nxt_runtime_port_add(task, port);
290
291 nxt_port_use(task, port, -1);
292
293 nxt_port_write_enable(task, port);
294
295 msg->u.new_port = port;
296}
297
298
299void
300nxt_port_process_ready_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg)

--- 257 unchanged lines hidden ---
279 nxt_port_write_enable(task, port);
280
281 msg->u.new_port = port;
282}
283
284
285void
286nxt_port_process_ready_handler(nxt_task_t *task, nxt_port_recv_msg_t *msg)

--- 257 unchanged lines hidden ---