|
|
|
@ -45,9 +45,6 @@ typedef struct gw_proc {
|
|
|
|
|
} gw_proc; |
|
|
|
|
|
|
|
|
|
typedef struct { |
|
|
|
|
/* the key that is used to reference this value */ |
|
|
|
|
const buffer *id; |
|
|
|
|
|
|
|
|
|
/* list of processes handling this extension
|
|
|
|
|
* sorted by lowest load |
|
|
|
|
* |
|
|
|
@ -56,6 +53,30 @@ typedef struct {
|
|
|
|
|
* job is started |
|
|
|
|
*/ |
|
|
|
|
gw_proc *first; |
|
|
|
|
|
|
|
|
|
uint32_t active_procs; /* how many procs in state PROC_STATE_RUNNING */ |
|
|
|
|
uint32_t gw_hash; |
|
|
|
|
|
|
|
|
|
int32_t load; |
|
|
|
|
int *stats_load; |
|
|
|
|
int *stats_global_active; |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* host:port |
|
|
|
|
* |
|
|
|
|
* if host is one of the local IP addresses the |
|
|
|
|
* whole connection is local |
|
|
|
|
* |
|
|
|
|
* if port is not 0, and host is not specified, |
|
|
|
|
* "localhost" (INADDR_LOOPBACK) is assumed. |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
unsigned short port; |
|
|
|
|
unsigned short family; /* sa_family_t */ |
|
|
|
|
const buffer *host; |
|
|
|
|
|
|
|
|
|
/* the key that is used to reference this value */ |
|
|
|
|
const buffer *id; |
|
|
|
|
gw_proc *unused_procs; |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
@ -71,7 +92,6 @@ typedef struct {
|
|
|
|
|
unsigned short min_procs; |
|
|
|
|
unsigned short max_procs; |
|
|
|
|
uint32_t num_procs; /* how many procs are started */ |
|
|
|
|
uint32_t active_procs; /* how many procs in state PROC_STATE_RUNNING */ |
|
|
|
|
|
|
|
|
|
unsigned short max_load_per_proc; |
|
|
|
|
|
|
|
|
@ -104,21 +124,6 @@ typedef struct {
|
|
|
|
|
|
|
|
|
|
/* config */ |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* host:port |
|
|
|
|
* |
|
|
|
|
* if host is one of the local IP addresses the |
|
|
|
|
* whole connection is local |
|
|
|
|
* |
|
|
|
|
* if port is not 0, and host is not specified, |
|
|
|
|
* "localhost" (INADDR_LOOPBACK) is assumed. |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
const buffer *host; |
|
|
|
|
unsigned short port; |
|
|
|
|
unsigned short family; /* sa_family_t */ |
|
|
|
|
uint32_t gw_hash; |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Unix Domain Socket |
|
|
|
|
* |
|
|
|
@ -158,15 +163,6 @@ typedef struct {
|
|
|
|
|
*/ |
|
|
|
|
const buffer *docroot; |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* check_local tells you if the phys file is stat()ed |
|
|
|
|
* or not. FastCGI doesn't care if the service is |
|
|
|
|
* remote. If the web-server side doesn't contain |
|
|
|
|
* the FastCGI-files we should not stat() for them |
|
|
|
|
* and say '404 not found'. |
|
|
|
|
*/ |
|
|
|
|
unsigned short check_local; |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* append PATH_INFO to SCRIPT_FILENAME |
|
|
|
|
* |
|
|
|
@ -176,6 +172,15 @@ typedef struct {
|
|
|
|
|
|
|
|
|
|
unsigned short break_scriptfilename_for_php; |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* check_local tells you if the phys file is stat()ed |
|
|
|
|
* or not. FastCGI doesn't care if the service is |
|
|
|
|
* remote. If the web-server side doesn't contain |
|
|
|
|
* the FastCGI-files we should not stat() for them |
|
|
|
|
* and say '404 not found'. |
|
|
|
|
*/ |
|
|
|
|
unsigned short check_local; |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* workaround for program when prefix="/" |
|
|
|
|
* |
|
|
|
@ -194,8 +199,6 @@ typedef struct {
|
|
|
|
|
unsigned short xsendfile_allow; |
|
|
|
|
const array *xsendfile_docroot; |
|
|
|
|
|
|
|
|
|
int32_t load; |
|
|
|
|
|
|
|
|
|
uint32_t max_id; /* corresponds most of the time to num_procs */ |
|
|
|
|
|
|
|
|
|
const buffer *strip_request_uri; |
|
|
|
@ -210,9 +213,6 @@ typedef struct {
|
|
|
|
|
int refcount; |
|
|
|
|
|
|
|
|
|
char_array args; |
|
|
|
|
|
|
|
|
|
int *stats_load; |
|
|
|
|
int *stats_global_active; |
|
|
|
|
} gw_host; |
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|