|
|
|
@ -17,26 +17,7 @@ typedef struct {
|
|
|
|
|
} char_array; |
|
|
|
|
|
|
|
|
|
typedef struct gw_proc { |
|
|
|
|
uint32_t id; /* id will be between 1 and max_procs */ |
|
|
|
|
unsigned short port; /* config.port + pno */ |
|
|
|
|
buffer *unixsocket; /* config.socket + "-" + id */ |
|
|
|
|
socklen_t saddrlen; |
|
|
|
|
struct sockaddr *saddr; |
|
|
|
|
|
|
|
|
|
/* either tcp:<host>:<port> or unix:<socket> for debugging purposes */ |
|
|
|
|
buffer *connection_name; |
|
|
|
|
|
|
|
|
|
pid_t pid; /* PID of the spawned process (0 if not spawned locally) */ |
|
|
|
|
|
|
|
|
|
uint32_t load; /* number of requests waiting on this process */ |
|
|
|
|
|
|
|
|
|
struct gw_proc *prev, *next; /* see first */ |
|
|
|
|
|
|
|
|
|
time_t last_used; /* see idle_timeout */ |
|
|
|
|
time_t disabled_until; /* proc disabled until given time */ |
|
|
|
|
|
|
|
|
|
int is_local; |
|
|
|
|
|
|
|
|
|
struct gw_proc *next; /* see first */ |
|
|
|
|
enum { |
|
|
|
|
PROC_STATE_RUNNING, /* alive */ |
|
|
|
|
PROC_STATE_OVERLOADED, /* listen-queue is full */ |
|
|
|
@ -44,9 +25,23 @@ typedef struct gw_proc {
|
|
|
|
|
PROC_STATE_DIED, /* marked as dead, should be restarted */ |
|
|
|
|
PROC_STATE_KILLED /* killed (signal sent to proc) */ |
|
|
|
|
} state; |
|
|
|
|
|
|
|
|
|
uint32_t load; /* number of requests waiting on this process */ |
|
|
|
|
time_t last_used; /* see idle_timeout */ |
|
|
|
|
int *stats_load; |
|
|
|
|
int *stats_connected; |
|
|
|
|
pid_t pid; /* PID of the spawned process (0 if not spawned locally) */ |
|
|
|
|
int is_local; |
|
|
|
|
uint32_t id; /* id will be between 1 and max_procs */ |
|
|
|
|
socklen_t saddrlen; |
|
|
|
|
struct sockaddr *saddr; |
|
|
|
|
|
|
|
|
|
time_t disabled_until; /* proc disabled until given time */ |
|
|
|
|
struct gw_proc *prev; /* see first */ |
|
|
|
|
|
|
|
|
|
/* either tcp:<host>:<port> or unix:<socket> for debugging purposes */ |
|
|
|
|
buffer *connection_name; |
|
|
|
|
buffer *unixsocket; /* config.socket + "-" + id */ |
|
|
|
|
unsigned short port; /* config.port + pno */ |
|
|
|
|
} gw_proc; |
|
|
|
|
|
|
|
|
|
typedef struct { |
|
|
|
|