summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_process.h
diff options
context:
space:
mode:
authorMax Romanov <max.romanov@nginx.com>2017-10-19 17:37:19 +0300
committerMax Romanov <max.romanov@nginx.com>2017-10-19 17:37:19 +0300
commitb3aab8c66fa7269147a6696c98a52971020be6e8 (patch)
tree30fb2198ab3293f7248b6ae65692f792a590501e /src/nxt_process.h
parent6031c63225838d6bc266c4f015d9a1085f600324 (diff)
downloadunit-b3aab8c66fa7269147a6696c98a52971020be6e8.tar.gz
unit-b3aab8c66fa7269147a6696c98a52971020be6e8.tar.bz2
Filtering process to keep connection.
- Main process should be connected to all other processes. - Controller should be connected to Router. - Router should be connected to Controller and all Workers. - Workers should be connected to Router worker thread ports only. This filtering helps to avoid unnecessary communication and various errors during massive application workers stop / restart.
Diffstat (limited to 'src/nxt_process.h')
-rw-r--r--src/nxt_process.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/nxt_process.h b/src/nxt_process.h
index ae0e1661..c2a011ef 100644
--- a/src/nxt_process.h
+++ b/src/nxt_process.h
@@ -70,6 +70,10 @@ typedef struct {
} nxt_process_t;
+extern nxt_bool_t nxt_proc_conn_martix[NXT_PROCESS_MAX][NXT_PROCESS_MAX];
+extern nxt_bool_t
+ nxt_proc_remove_notify_martix[NXT_PROCESS_MAX][NXT_PROCESS_MAX];
+
NXT_EXPORT nxt_pid_t nxt_process_create(nxt_task_t *task,
nxt_process_t *process);
NXT_EXPORT nxt_pid_t nxt_process_execute(nxt_task_t *task, char *name,
@@ -95,6 +99,8 @@ NXT_EXPORT void nxt_process_port_add(nxt_task_t *task, nxt_process_t *process,
#define nxt_process_port_loop \
nxt_queue_loop
+nxt_process_type_t nxt_process_type(nxt_process_t *process);
+
void nxt_process_close_ports(nxt_task_t *task, nxt_process_t *process);
void nxt_process_connected_port_add(nxt_process_t *process, nxt_port_t *port);