Annotation of embedaddon/nginx/src/os/unix/ngx_process.h, revision 1.1.1.1
1.1 misho 1:
2: /*
3: * Copyright (C) Igor Sysoev
4: * Copyright (C) Nginx, Inc.
5: */
6:
7:
8: #ifndef _NGX_PROCESS_H_INCLUDED_
9: #define _NGX_PROCESS_H_INCLUDED_
10:
11:
12: #include <ngx_setaffinity.h>
13: #include <ngx_setproctitle.h>
14:
15:
16: typedef pid_t ngx_pid_t;
17:
18: #define NGX_INVALID_PID -1
19:
20: typedef void (*ngx_spawn_proc_pt) (ngx_cycle_t *cycle, void *data);
21:
22: typedef struct {
23: ngx_pid_t pid;
24: int status;
25: ngx_socket_t channel[2];
26:
27: ngx_spawn_proc_pt proc;
28: void *data;
29: char *name;
30:
31: unsigned respawn:1;
32: unsigned just_spawn:1;
33: unsigned detached:1;
34: unsigned exiting:1;
35: unsigned exited:1;
36: } ngx_process_t;
37:
38:
39: typedef struct {
40: char *path;
41: char *name;
42: char *const *argv;
43: char *const *envp;
44: } ngx_exec_ctx_t;
45:
46:
47: #define NGX_MAX_PROCESSES 1024
48:
49: #define NGX_PROCESS_NORESPAWN -1
50: #define NGX_PROCESS_JUST_SPAWN -2
51: #define NGX_PROCESS_RESPAWN -3
52: #define NGX_PROCESS_JUST_RESPAWN -4
53: #define NGX_PROCESS_DETACHED -5
54:
55:
56: #define ngx_getpid getpid
57:
58: #ifndef ngx_log_pid
59: #define ngx_log_pid ngx_pid
60: #endif
61:
62:
63: ngx_pid_t ngx_spawn_process(ngx_cycle_t *cycle,
64: ngx_spawn_proc_pt proc, void *data, char *name, ngx_int_t respawn);
65: ngx_pid_t ngx_execute(ngx_cycle_t *cycle, ngx_exec_ctx_t *ctx);
66: ngx_int_t ngx_init_signals(ngx_log_t *log);
67: void ngx_debug_point(void);
68:
69:
70: #if (NGX_HAVE_SCHED_YIELD)
71: #define ngx_sched_yield() sched_yield()
72: #else
73: #define ngx_sched_yield() usleep(1)
74: #endif
75:
76:
77: extern int ngx_argc;
78: extern char **ngx_argv;
79: extern char **ngx_os_argv;
80:
81: extern ngx_pid_t ngx_pid;
82: extern ngx_socket_t ngx_channel;
83: extern ngx_int_t ngx_process_slot;
84: extern ngx_int_t ngx_last_process;
85: extern ngx_process_t ngx_processes[NGX_MAX_PROCESSES];
86:
87:
88: #endif /* _NGX_PROCESS_H_INCLUDED_ */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>