root/sapi/fpm/fpm/fpm_process_ctl.h

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

INCLUDED FROM


   1 
   2         /* $Id: fpm_process_ctl.h,v 1.6 2008/07/20 21:33:10 anight Exp $ */
   3         /* (c) 2007,2008 Andrei Nigmatulin */
   4 
   5 #ifndef FPM_PROCESS_CTL_H
   6 #define FPM_PROCESS_CTL_H 1
   7 
   8 #include "fpm_events.h"
   9 
  10 /* spawn max 32 children at once */
  11 #define FPM_MAX_SPAWN_RATE (32)
  12 /* 1s (in ms) heartbeat for idle server maintenance */
  13 #define FPM_IDLE_SERVER_MAINTENANCE_HEARTBEAT (1000)
  14 /* a minimum of 130ms heartbeat for pctl */
  15 #define FPM_PCTL_MIN_HEARTBEAT (130)
  16 
  17 
  18 struct fpm_child_s;
  19 
  20 void fpm_pctl(int new_state, int action);
  21 int fpm_pctl_can_spawn_children();
  22 int fpm_pctl_kill(pid_t pid, int how);
  23 void fpm_pctl_kill_all(int signo);
  24 void fpm_pctl_heartbeat(struct fpm_event_s *ev, short which, void *arg);
  25 void fpm_pctl_perform_idle_server_maintenance_heartbeat(struct fpm_event_s *ev, short which, void *arg);
  26 void fpm_pctl_on_socket_accept(struct fpm_event_s *ev, short which, void *arg);
  27 int fpm_pctl_child_exited();
  28 int fpm_pctl_init_main();
  29 
  30 
  31 enum {
  32         FPM_PCTL_STATE_UNSPECIFIED,
  33         FPM_PCTL_STATE_NORMAL,
  34         FPM_PCTL_STATE_RELOADING,
  35         FPM_PCTL_STATE_TERMINATING,
  36         FPM_PCTL_STATE_FINISHING
  37 };
  38 
  39 enum {
  40         FPM_PCTL_ACTION_SET,
  41         FPM_PCTL_ACTION_TIMEOUT,
  42         FPM_PCTL_ACTION_LAST_CHILD_EXITED
  43 };
  44 
  45 enum {
  46         FPM_PCTL_TERM,
  47         FPM_PCTL_STOP,
  48         FPM_PCTL_CONT,
  49         FPM_PCTL_QUIT
  50 };
  51 
  52 #endif
  53 

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