1
2
3
4
5 #ifndef FPM_WORKER_POOL_H
6 #define FPM_WORKER_POOL_H 1
7
8 #include "fpm_conf.h"
9 #include "fpm_shm.h"
10
11 struct fpm_worker_pool_s;
12 struct fpm_child_s;
13 struct fpm_child_stat_s;
14 struct fpm_shm_s;
15
16 enum fpm_address_domain {
17 FPM_AF_UNIX = 1,
18 FPM_AF_INET = 2
19 };
20
21 struct fpm_worker_pool_s {
22 struct fpm_worker_pool_s *next;
23 struct fpm_worker_pool_config_s *config;
24 char *user, *home;
25 enum fpm_address_domain listen_address_domain;
26 int listening_socket;
27 int set_uid, set_gid;
28 int socket_uid, socket_gid, socket_mode;
29
30
31 struct fpm_child_s *children;
32 int running_children;
33 int idle_spawn_rate;
34 int warn_max_children;
35 #if 0
36 int warn_lq;
37 #endif
38 struct fpm_scoreboard_s *scoreboard;
39 int log_fd;
40 char **limit_extensions;
41
42
43 struct fpm_event_s *ondemand_event;
44 int socket_event_set;
45
46 #ifdef HAVE_FPM_ACL
47 void *socket_acl;
48 #endif
49 };
50
51 struct fpm_worker_pool_s *fpm_worker_pool_alloc();
52 void fpm_worker_pool_free(struct fpm_worker_pool_s *wp);
53 int fpm_worker_pool_init_main();
54
55 extern struct fpm_worker_pool_s *fpm_worker_all_pools;
56
57 #endif
58