Using shared memory to send data via nxt_port.

Usage:
    b = nxt_port_mmap_get_buf(task, port, size);
    b->mem.free = nxt_cpymem(b->mem.free, data, size);
    nxt_port_socket_write(task, port, NXT_PORT_MSG_DATA, -1, 0, b);
This commit is contained in:
Max Romanov
2017-05-12 20:32:41 +03:00
parent 1782c771fa
commit f7b4bdfd89
19 changed files with 1506 additions and 186 deletions

View File

@@ -506,3 +506,22 @@ nxt_user_cred_set(nxt_task_t *task, nxt_user_cred_t *uc)
return NXT_OK;
}
nxt_port_t *
nxt_process_port_new(nxt_process_t *process)
{
nxt_port_t *port;
port = nxt_mem_cache_zalloc0(process->mem_pool, sizeof(nxt_port_t));
if (nxt_fast_path(port != NULL)) {
port->id = process->last_port_id++;
port->pid = process->pid;
port->process = process;
nxt_process_port_add(process, port);
}
return port;
}