Igor Sysoev | 3c3ca17 | 2004-01-05 20:55:48 +0000 | [diff] [blame] | 1 | #ifndef _NGX_CYCLE_H_INCLUDED_ |
| 2 | #define _NGX_CYCLE_H_INCLUDED_ |
| 3 | |
| 4 | |
| 5 | #include <ngx_config.h> |
| 6 | #include <ngx_core.h> |
| 7 | |
| 8 | |
| 9 | struct ngx_cycle_s { |
| 10 | void ****conf_ctx; |
| 11 | ngx_pool_t *pool; |
| 12 | ngx_log_t *log; |
| 13 | ngx_array_t listening; |
| 14 | ngx_array_t open_files; |
| 15 | ngx_array_t pathes; |
| 16 | |
Igor Sysoev | 10a543a | 2004-03-16 07:10:12 +0000 | [diff] [blame] | 17 | ngx_uint_t connection_n; |
Igor Sysoev | 3c3ca17 | 2004-01-05 20:55:48 +0000 | [diff] [blame] | 18 | ngx_connection_t *connections; |
| 19 | ngx_event_t *read_events; |
| 20 | ngx_event_t *write_events; |
| 21 | |
| 22 | ngx_cycle_t *old_cycle; |
| 23 | |
Igor Sysoev | e9b2cb1 | 2004-02-09 20:47:18 +0000 | [diff] [blame] | 24 | ngx_str_t conf_file; |
Igor Sysoev | 3c3ca17 | 2004-01-05 20:55:48 +0000 | [diff] [blame] | 25 | }; |
| 26 | |
| 27 | |
Igor Sysoev | a536298 | 2004-03-04 07:04:55 +0000 | [diff] [blame] | 28 | typedef struct { |
| 29 | ngx_flag_t daemon; |
| 30 | ngx_flag_t master; |
Igor Sysoev | a741f8d | 2004-03-30 20:31:58 +0000 | [diff] [blame^] | 31 | |
| 32 | ngx_int_t worker_processes; |
| 33 | |
Igor Sysoev | a536298 | 2004-03-04 07:04:55 +0000 | [diff] [blame] | 34 | ngx_uid_t user; |
| 35 | ngx_gid_t group; |
Igor Sysoev | a741f8d | 2004-03-30 20:31:58 +0000 | [diff] [blame^] | 36 | |
Igor Sysoev | a536298 | 2004-03-04 07:04:55 +0000 | [diff] [blame] | 37 | ngx_str_t pid; |
| 38 | ngx_str_t newpid; |
| 39 | } ngx_core_conf_t; |
| 40 | |
| 41 | |
Igor Sysoev | 3c3ca17 | 2004-01-05 20:55:48 +0000 | [diff] [blame] | 42 | ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle); |
Igor Sysoev | a536298 | 2004-03-04 07:04:55 +0000 | [diff] [blame] | 43 | void ngx_reopen_files(ngx_cycle_t *cycle, ngx_uid_t user); |
| 44 | ngx_pid_t ngx_exec_new_binary(ngx_cycle_t *cycle, char *const *argv); |
Igor Sysoev | 3c3ca17 | 2004-01-05 20:55:48 +0000 | [diff] [blame] | 45 | |
| 46 | |
| 47 | extern volatile ngx_cycle_t *ngx_cycle; |
| 48 | extern ngx_array_t ngx_old_cycles; |
Igor Sysoev | a536298 | 2004-03-04 07:04:55 +0000 | [diff] [blame] | 49 | extern ngx_module_t ngx_core_module; |
Igor Sysoev | 3c3ca17 | 2004-01-05 20:55:48 +0000 | [diff] [blame] | 50 | |
| 51 | |
| 52 | #endif /* _NGX_CYCLE_H_INCLUDED_ */ |