2004-03-04 15:04:55 +08:00
|
|
|
#ifndef _NGX_PROCESS_CYCLE_H_INCLUDED_
|
|
|
|
#define _NGX_PROCESS_CYCLE_H_INCLUDED_
|
|
|
|
|
|
|
|
|
|
|
|
#include <ngx_config.h>
|
|
|
|
#include <ngx_core.h>
|
|
|
|
|
|
|
|
|
2004-06-15 15:55:11 +08:00
|
|
|
#define NGX_CMD_OPEN_CHANNEL 1
|
|
|
|
#define NGX_CMD_CLOSE_CHANNEL 2
|
|
|
|
#define NGX_CMD_QUIT 3
|
|
|
|
#define NGX_CMD_TERMINATE 4
|
|
|
|
#define NGX_CMD_REOPEN 5
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct {
|
|
|
|
ngx_uint_t command;
|
|
|
|
ngx_pid_t pid;
|
2004-06-19 00:22:16 +08:00
|
|
|
ngx_int_t slot;
|
2004-06-15 15:55:11 +08:00
|
|
|
ngx_fd_t fd;
|
|
|
|
} ngx_channel_t;
|
|
|
|
|
|
|
|
|
2004-03-04 15:04:55 +08:00
|
|
|
typedef struct {
|
|
|
|
int argc;
|
|
|
|
char *const *argv;
|
|
|
|
} ngx_master_ctx_t;
|
|
|
|
|
|
|
|
|
|
|
|
#define NGX_PROCESS_SINGLE 0
|
|
|
|
#define NGX_PROCESS_MASTER 1
|
|
|
|
#define NGX_PROCESS_WORKER 2
|
|
|
|
|
|
|
|
|
|
|
|
void ngx_master_process_cycle(ngx_cycle_t *cycle, ngx_master_ctx_t *ctx);
|
2004-04-16 13:14:16 +08:00
|
|
|
void ngx_single_process_cycle(ngx_cycle_t *cycle, ngx_master_ctx_t *ctx);
|
2004-03-04 15:04:55 +08:00
|
|
|
|
|
|
|
|
2004-06-15 15:55:11 +08:00
|
|
|
ngx_int_t ngx_write_channel(ngx_socket_t s, ngx_channel_t *ch, size_t size,
|
|
|
|
ngx_log_t *log);
|
|
|
|
ngx_int_t ngx_read_channel(ngx_socket_t s, ngx_channel_t *ch, size_t size,
|
|
|
|
ngx_log_t *log);
|
|
|
|
|
|
|
|
|
2004-04-26 04:13:21 +08:00
|
|
|
extern ngx_uint_t ngx_process;
|
2004-03-04 15:04:55 +08:00
|
|
|
extern ngx_pid_t ngx_pid;
|
|
|
|
extern ngx_pid_t ngx_new_binary;
|
2004-04-26 04:13:21 +08:00
|
|
|
extern ngx_uint_t ngx_inherited;
|
|
|
|
extern ngx_uint_t ngx_threaded;
|
|
|
|
extern ngx_uint_t ngx_exiting;
|
2004-03-04 15:04:55 +08:00
|
|
|
|
|
|
|
extern sig_atomic_t ngx_reap;
|
|
|
|
extern sig_atomic_t ngx_timer;
|
2004-06-15 15:55:11 +08:00
|
|
|
extern sig_atomic_t ngx_sigio;
|
2004-03-04 15:04:55 +08:00
|
|
|
extern sig_atomic_t ngx_quit;
|
|
|
|
extern sig_atomic_t ngx_terminate;
|
|
|
|
extern sig_atomic_t ngx_noaccept;
|
|
|
|
extern sig_atomic_t ngx_reconfigure;
|
|
|
|
extern sig_atomic_t ngx_reopen;
|
|
|
|
extern sig_atomic_t ngx_change_binary;
|
|
|
|
|
|
|
|
|
|
|
|
#endif /* _NGX_PROCESS_CYCLE_H_INCLUDED_ */
|