summaryrefslogtreecommitdiffhomepage
path: root/src/nginext
diff options
context:
space:
mode:
authorMax Romanov <max.romanov@nginx.com>2017-08-02 13:10:48 +0300
committerMax Romanov <max.romanov@nginx.com>2017-08-02 13:10:48 +0300
commit3812ffd336414904affc43d29229b04a2d6d8ae6 (patch)
treef12fca86a5e4280bd75234776cac80c9b9902d0b /src/nginext
parenta7ef8481fcda2f2dc5b0b84a93e66bce62c83918 (diff)
downloadunit-3812ffd336414904affc43d29229b04a2d6d8ae6.tar.gz
unit-3812ffd336414904affc43d29229b04a2d6d8ae6.tar.bz2
Added bit flags to type parameter of nxt_port_socket_write().
NXT_PORT_MSG_LAST - mark message as last; NXT_PORT_MSG_CLOSE_FD - close fd right after send; Type constants altered to include last flag for single buffer messages. Last sign is critical for coming port RPC layer. Handlers unregistered on last message. Create sync buffer is not convenient, extra parameter is better.
Diffstat (limited to '')
-rw-r--r--src/nginext/nxt_go_lib.c4
-rw-r--r--src/nginext/nxt_go_port.c12
-rw-r--r--src/nginext/nxt_go_port_memory.c4
-rw-r--r--src/nginext/nxt_go_run_ctx.c2
4 files changed, 11 insertions, 11 deletions
diff --git a/src/nginext/nxt_go_lib.c b/src/nginext/nxt_go_lib.c
index 57c3da8e..87f583d7 100644
--- a/src/nginext/nxt_go_lib.c
+++ b/src/nginext/nxt_go_lib.c
@@ -189,8 +189,8 @@ nxt_go_ready()
port_msg.stream = atol(go_stream);
port_msg.pid = getpid();
port_msg.reply_port = 0;
- port_msg.type = NXT_PORT_MSG_READY;
- port_msg.last = 0;
+ port_msg.type = _NXT_PORT_MSG_READY;
+ port_msg.last = 1;
port_msg.mmap = 0;
nxt_go_master_send(&port_msg, sizeof(port_msg), NULL, 0);
diff --git a/src/nginext/nxt_go_port.c b/src/nginext/nxt_go_port.c
index 58ba90ea..af50b860 100644
--- a/src/nginext/nxt_go_port.c
+++ b/src/nginext/nxt_go_port.c
@@ -152,13 +152,13 @@ nxt_go_port_on_read(void *buf, size_t buf_size, void *oob, size_t oob_size)
}
switch (port_msg->type) {
- case NXT_PORT_MSG_QUIT:
+ case _NXT_PORT_MSG_QUIT:
nxt_go_debug("quit");
nxt_go_set_quit();
break;
- case NXT_PORT_MSG_NEW_PORT:
+ case _NXT_PORT_MSG_NEW_PORT:
nxt_go_debug("new port");
new_port_msg = payload;
@@ -166,22 +166,22 @@ nxt_go_port_on_read(void *buf, size_t buf_size, void *oob, size_t oob_size)
-1, fd);
break;
- case NXT_PORT_MSG_CHANGE_FILE:
+ case _NXT_PORT_MSG_CHANGE_FILE:
nxt_go_debug("change file");
break;
- case NXT_PORT_MSG_MMAP:
+ case _NXT_PORT_MSG_MMAP:
nxt_go_debug("mmap");
nxt_go_new_incoming_mmap(port_msg->pid, fd);
break;
- case NXT_PORT_MSG_DATA:
+ case _NXT_PORT_MSG_DATA:
nxt_go_debug("data");
return nxt_go_data_handler(port_msg, buf_size);
- case NXT_PORT_MSG_REMOVE_PID:
+ case _NXT_PORT_MSG_REMOVE_PID:
nxt_go_debug("remove pid");
/* TODO remove all ports for this pid in Go */
diff --git a/src/nginext/nxt_go_port_memory.c b/src/nginext/nxt_go_port_memory.c
index 7e3f7a1a..dbdf5f73 100644
--- a/src/nginext/nxt_go_port_memory.c
+++ b/src/nginext/nxt_go_port_memory.c
@@ -112,8 +112,8 @@ nxt_go_new_port_mmap(nxt_go_process_t *process, nxt_port_id_t id)
port_msg.stream = 0;
port_msg.pid = getpid();
port_msg.reply_port = 0;
- port_msg.type = NXT_PORT_MSG_MMAP;
- port_msg.last = 0;
+ port_msg.type = _NXT_PORT_MSG_MMAP;
+ port_msg.last = 1;
port_msg.mmap = 0;
cmsg.cm.cmsg_len = CMSG_LEN(sizeof(int));
diff --git a/src/nginext/nxt_go_run_ctx.c b/src/nginext/nxt_go_run_ctx.c
index 0788b0d1..c6481b95 100644
--- a/src/nginext/nxt_go_run_ctx.c
+++ b/src/nginext/nxt_go_run_ctx.c
@@ -165,7 +165,7 @@ nxt_go_ctx_init(nxt_go_run_ctx_t *ctx, nxt_port_msg_t *port_msg,
ctx->wport_msg.stream = port_msg->stream;
ctx->wport_msg.pid = getpid();
- ctx->wport_msg.type = NXT_PORT_MSG_DATA;
+ ctx->wport_msg.type = _NXT_PORT_MSG_DATA;
ctx->wport_msg.mmap = 1;
ctx->wmmap_msg = (nxt_port_mmap_msg_t *) ( &ctx->wport_msg + 1 );