1 2 /* 3 * Copyright (C) Igor Sysoev 4 * Copyright (C) Nginx, Inc. 5 */ 6 7 8 #ifndef _NGX_PROCESS_CYCLE_H_INCLUDED_ 9 #define _NGX_PROCESS_CYCLE_H_INCLUDED_ 10 11 12 #include <ngx_config.h> 13 #include <ngx_core.h> 14 15 16 #define NGX_CMD_OPEN_CHANNEL 1 17 #define NGX_CMD_CLOSE_CHANNEL 2 18 #define NGX_CMD_QUIT 3 19 #define NGX_CMD_TERMINATE 4 20 #define NGX_CMD_REOPEN 5 21 22 23 #define NGX_PROCESS_SINGLE 0 24 #define NGX_PROCESS_MASTER 1 25 #define NGX_PROCESS_SIGNALLER 2 26 #define NGX_PROCESS_WORKER 3 27 #define NGX_PROCESS_HELPER 4 28 29 30 typedef struct { 31 ngx_event_handler_pt handler; 32 char *name; 33 ngx_msec_t delay; 34 } ngx_cache_manager_ctx_t; 35 36 37 void ngx_master_process_cycle(ngx_cycle_t *cycle); 38 void ngx_single_process_cycle(ngx_cycle_t *cycle); 39 40 #if (NGX_HAVE_FSTACK) 41 #define NGX_FF_PROCESS_NONE 0 42 #define NGX_FF_PROCESS_PRIMARY 1 43 #define NGX_FF_PROCESS_SECONDARY 2 44 extern ngx_int_t ngx_ff_process; 45 #endif 46 47 extern ngx_uint_t ngx_process; 48 extern ngx_uint_t ngx_worker; 49 extern ngx_pid_t ngx_pid; 50 extern ngx_pid_t ngx_new_binary; 51 extern ngx_uint_t ngx_inherited; 52 extern ngx_uint_t ngx_daemonized; 53 extern ngx_uint_t ngx_exiting; 54 55 extern sig_atomic_t ngx_reap; 56 extern sig_atomic_t ngx_sigio; 57 extern sig_atomic_t ngx_sigalrm; 58 extern sig_atomic_t ngx_quit; 59 extern sig_atomic_t ngx_debug_quit; 60 extern sig_atomic_t ngx_terminate; 61 extern sig_atomic_t ngx_noaccept; 62 extern sig_atomic_t ngx_reconfigure; 63 extern sig_atomic_t ngx_reopen; 64 extern sig_atomic_t ngx_change_binary; 65 66 67 #endif /* _NGX_PROCESS_CYCLE_H_INCLUDED_ */ 68