blob: 94747b85d554f308cfbf0bdebce12d0b5a6fd51c [file] [log] [blame]
Igor Sysoevd90282d2004-09-28 08:34:51 +00001
2/*
Igor Sysoevff8da912004-09-29 16:00:49 +00003 * Copyright (C) Igor Sysoev
Maxim Konovalovf8d59e32012-01-18 15:07:43 +00004 * Copyright (C) Nginx, Inc.
Igor Sysoevd90282d2004-09-28 08:34:51 +00005 */
6
7
Igor Sysoeva5362982004-03-04 07:04:55 +00008#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
Igor Sysoev87350f22004-06-15 07:55:11 +000016#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
Igor Sysoevc8e9f262009-04-21 20:25:49 +000023#define NGX_PROCESS_SINGLE 0
24#define NGX_PROCESS_MASTER 1
Igor Sysoev72db7602009-11-23 15:46:21 +000025#define NGX_PROCESS_SIGNALLER 2
26#define NGX_PROCESS_WORKER 3
27#define NGX_PROCESS_HELPER 4
Igor Sysoeva5362982004-03-04 07:04:55 +000028
29
Igor Sysoev4413fad2009-08-10 13:27:14 +000030typedef struct {
31 ngx_event_handler_pt handler;
32 char *name;
33 ngx_msec_t delay;
34} ngx_cache_manager_ctx_t;
35
36
Igor Sysoev924bd792004-10-11 15:07:03 +000037void ngx_master_process_cycle(ngx_cycle_t *cycle);
38void ngx_single_process_cycle(ngx_cycle_t *cycle);
Igor Sysoeva5362982004-03-04 07:04:55 +000039
40
Igor Sysoev3f4685f2004-04-25 20:13:21 +000041extern ngx_uint_t ngx_process;
Igor Sysoeva5362982004-03-04 07:04:55 +000042extern ngx_pid_t ngx_pid;
43extern ngx_pid_t ngx_new_binary;
Igor Sysoev3f4685f2004-04-25 20:13:21 +000044extern ngx_uint_t ngx_inherited;
Igor Sysoeve0207bb2004-06-23 15:18:17 +000045extern ngx_uint_t ngx_daemonized;
Igor Sysoev3f4685f2004-04-25 20:13:21 +000046extern ngx_uint_t ngx_threaded;
47extern ngx_uint_t ngx_exiting;
Igor Sysoeva5362982004-03-04 07:04:55 +000048
49extern sig_atomic_t ngx_reap;
Igor Sysoev87350f22004-06-15 07:55:11 +000050extern sig_atomic_t ngx_sigio;
Igor Sysoev450659e2009-08-26 15:12:28 +000051extern sig_atomic_t ngx_sigalrm;
Igor Sysoeva5362982004-03-04 07:04:55 +000052extern sig_atomic_t ngx_quit;
Igor Sysoevb1dfe472004-12-21 12:30:30 +000053extern sig_atomic_t ngx_debug_quit;
Igor Sysoeva5362982004-03-04 07:04:55 +000054extern sig_atomic_t ngx_terminate;
55extern sig_atomic_t ngx_noaccept;
56extern sig_atomic_t ngx_reconfigure;
57extern sig_atomic_t ngx_reopen;
58extern sig_atomic_t ngx_change_binary;
59
60
61#endif /* _NGX_PROCESS_CYCLE_H_INCLUDED_ */