summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_process.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/nxt_process.h')
-rw-r--r--src/nxt_process.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/nxt_process.h b/src/nxt_process.h
index 4f24b179..c92eebd8 100644
--- a/src/nxt_process.h
+++ b/src/nxt_process.h
@@ -99,19 +99,26 @@ typedef struct {
struct nxt_process_s {
nxt_pid_t pid;
- const char *name;
- nxt_queue_t ports; /* of nxt_port_t */
+ nxt_queue_t ports; /* of nxt_port_t.link */
nxt_process_state_t state;
nxt_bool_t registered;
nxt_int_t use_count;
nxt_port_mmaps_t incoming;
+
+ nxt_pid_t isolated_pid;
+ const char *name;
+ nxt_port_t *parent_port;
+
uint32_t stream;
nxt_mp_t *mem_pool;
nxt_credential_t *user_cred;
+ nxt_queue_t children; /* of nxt_process_t.link */
+ nxt_queue_link_t link; /* for nxt_process_t.children */
+
nxt_process_data_t data;
nxt_process_isolation_t isolation;
@@ -148,8 +155,6 @@ extern nxt_bool_t nxt_proc_conn_matrix[NXT_PROCESS_MAX][NXT_PROCESS_MAX];
extern nxt_bool_t
nxt_proc_remove_notify_matrix[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,
char **argv, char **envp);
NXT_EXPORT nxt_int_t nxt_process_daemon(nxt_task_t *task);
@@ -176,6 +181,10 @@ 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_t *nxt_process_new(nxt_runtime_t *rt);
+void nxt_process_use(nxt_task_t *task, nxt_process_t *process, int i);
+nxt_int_t nxt_process_init_start(nxt_task_t *task, nxt_process_init_t init);
+nxt_int_t nxt_process_start(nxt_task_t *task, nxt_process_t *process);
nxt_process_type_t nxt_process_type(nxt_process_t *process);
void nxt_process_use(nxt_task_t *task, nxt_process_t *process, int i);