nginx/src/os/unix/ngx_process_cycle.c


/*
 * Copyright (C) Igor Sysoev
 * Copyright (C) Nginx, Inc.
 */


#include <ngx_config.h>
#include <ngx_core.h>
#include <ngx_event.h>
#include <ngx_channel.h>


static void ngx_start_worker_processes(ngx_cycle_t *cycle, ngx_int_t n,
    ngx_int_t type);
static void ngx_start_cache_manager_processes(ngx_cycle_t *cycle,
    ngx_uint_t respawn);
static void ngx_pass_open_channel(ngx_cycle_t *cycle);
static void ngx_signal_worker_processes(ngx_cycle_t *cycle, int signo);
static ngx_uint_t ngx_reap_children(ngx_cycle_t *cycle);
static void ngx_master_process_exit(ngx_cycle_t *cycle);
static void ngx_worker_process_cycle(ngx_cycle_t *cycle, void *data);
static void ngx_worker_process_init(ngx_cycle_t *cycle, ngx_int_t worker);
static void ngx_worker_process_exit(ngx_cycle_t *cycle);
static void ngx_channel_handler(ngx_event_t *ev);
static void ngx_cache_manager_process_cycle(ngx_cycle_t *cycle, void *data);
static void ngx_cache_manager_process_handler(ngx_event_t *ev);
static void ngx_cache_loader_process_handler(ngx_event_t *ev);


ngx_uint_t    ngx_process;
ngx_uint_t    ngx_worker;
ngx_pid_t     ngx_pid;
ngx_pid_t     ngx_parent;

sig_atomic_t  ngx_reap;
sig_atomic_t  ngx_sigio;
sig_atomic_t  ngx_sigalrm;
sig_atomic_t  ngx_terminate;
sig_atomic_t  ngx_quit;
sig_atomic_t  ngx_debug_quit;
ngx_uint_t    ngx_exiting;
sig_atomic_t  ngx_reconfigure;
sig_atomic_t  ngx_reopen;

sig_atomic_t  ngx_change_binary;
ngx_pid_t     ngx_new_binary;
ngx_uint_t    ngx_inherited;
ngx_uint_t    ngx_daemonized;

sig_atomic_t  ngx_noaccept;
ngx_uint_t    ngx_noaccepting;
ngx_uint_t    ngx_restart;


static u_char  master_process[] =;


static ngx_cache_manager_ctx_t  ngx_cache_manager_ctx =;

static ngx_cache_manager_ctx_t  ngx_cache_loader_ctx =;


static ngx_cycle_t      ngx_exit_cycle;
static ngx_log_t        ngx_exit_log;
static ngx_open_file_t  ngx_exit_log_file;


void
ngx_master_process_cycle(ngx_cycle_t *cycle)
{}


void
ngx_single_process_cycle(ngx_cycle_t *cycle)
{}


static void
ngx_start_worker_processes(ngx_cycle_t *cycle, ngx_int_t n, ngx_int_t type)
{}


static void
ngx_start_cache_manager_processes(ngx_cycle_t *cycle, ngx_uint_t respawn)
{}


static void
ngx_pass_open_channel(ngx_cycle_t *cycle)
{}


static void
ngx_signal_worker_processes(ngx_cycle_t *cycle, int signo)
{}


static ngx_uint_t
ngx_reap_children(ngx_cycle_t *cycle)
{}


static void
ngx_master_process_exit(ngx_cycle_t *cycle)
{}


static void
ngx_worker_process_cycle(ngx_cycle_t *cycle, void *data)
{}


static void
ngx_worker_process_init(ngx_cycle_t *cycle, ngx_int_t worker)
{}


static void
ngx_worker_process_exit(ngx_cycle_t *cycle)
{}


static void
ngx_channel_handler(ngx_event_t *ev)
{}


static void
ngx_cache_manager_process_cycle(ngx_cycle_t *cycle, void *data)
{}


static void
ngx_cache_manager_process_handler(ngx_event_t *ev)
{}


static void
ngx_cache_loader_process_handler(ngx_event_t *ev)
{}