root/sapi/fpm/fpm/fpm_worker_pool.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 
   2         /* $Id: fpm_worker_pool.h,v 1.13 2008/08/26 15:09:15 anight Exp $ */
   3         /* (c) 2007,2008 Andrei Nigmatulin */
   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;                                                                      /* for setting env USER and HOME */
  25         enum fpm_address_domain listen_address_domain;
  26         int listening_socket;
  27         int set_uid, set_gid;                                                           /* config uid and gid */
  28         int socket_uid, socket_gid, socket_mode;
  29 
  30         /* runtime */
  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         /* for ondemand PM */
  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 

/* [<][>][^][v][top][bottom][index][help] */