comparison src/os/unix/ngx_process.h @ 218:05592fd7a436

nginx-0.0.1-2004-01-05-23:55:48 import
author Igor Sysoev <igor@sysoev.ru>
date Mon, 05 Jan 2004 20:55:48 +0000
parents 71ce40b3c37b
children 4f81b931e9ff
comparison
equal deleted inserted replaced
217:c5d1cdcb04ec 218:05592fd7a436
2 #define _NGX_PROCESS_H_INCLUDED_ 2 #define _NGX_PROCESS_H_INCLUDED_
3 3
4 4
5 typedef pid_t ngx_pid_t; 5 typedef pid_t ngx_pid_t;
6 6
7 typedef void (*ngx_spawn_proc_pt) (ngx_cycle_t *cycle, void *data);
8
9 typedef struct {
10 ngx_pid_t pid;
11 int status;
12
13 ngx_spawn_proc_pt proc;
14 void *data;
15 char *name;
16
17 unsigned respawn:1;
18 unsigned detached:1;
19 unsigned exited:1;
20 unsigned exiting:1;
21 } ngx_process_t;
22
23
24 typedef struct {
25 char *path;
26 char *name;
27 char *const *argv;
28 char *const *envp;
29 } ngx_exec_ctx_t;
30
31
7 #define ngx_getpid getpid 32 #define ngx_getpid getpid
8 33
34 #define NGX_MAX_PROCESSES 1024
9 35
10 int ngx_spawn_process(ngx_log_t *log); 36 #define NGX_PROCESS_RESPAWN -1
11 void ngx_sigchld_handler(int signo); 37 #define NGX_PROCESS_NORESPAWN -2
38 #define NGX_PROCESS_DETACHED -3
39
40
41 ngx_int_t ngx_spawn_process(ngx_cycle_t *cycle,
42 ngx_spawn_proc_pt proc, void *data,
43 char *name, ngx_int_t respawn);
44 ngx_int_t ngx_exec(ngx_cycle_t *cycle, ngx_exec_ctx_t *ctx);
45 void ngx_signal_processes(ngx_cycle_t *cycle, ngx_int_t signal);
46 void ngx_respawn_processes(ngx_cycle_t *cycle);
47 void ngx_process_get_status(void);
48
49 extern ngx_int_t ngx_respawn;
50 extern ngx_uint_t ngx_last_process;
51 extern ngx_process_t ngx_processes[NGX_MAX_PROCESSES];
12 52
13 53
14 #endif /* _NGX_PROCESS_H_INCLUDED_ */ 54 #endif /* _NGX_PROCESS_H_INCLUDED_ */