set version - 2.4.2
authorrobs <robs>
Mon, 24 Nov 2003 02:38:39 +0000 (24 02:38 +0000)
committerrobs <robs>
Mon, 24 Nov 2003 02:38:39 +0000 (24 02:38 +0000)
CHANGES
mod_fastcgi.h

diff --git a/CHANGES b/CHANGES
index f8a2089..8d8eedb 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,4 @@
-2.4.1
+2.4.2
 
  *) [WIN] Fix handle leaks in the process manager.  
     Sascha Schumann [sascha@schumann.cx]
index a007c84..ca18f86 100644 (file)
-/*
- * $Id: mod_fastcgi.h,v 1.46 2003/06/19 02:19:40 robs Exp $
- */
-
-#ifndef MOD_FASTCGI_H
-#define MOD_FASTCGI_H
-
-#define MOD_FASTCGI_VERSION "2.4.1"
-
-#define FASTCGI_HANDLER_NAME "fastcgi-script"
-
-/*
- * # of idle seconds allowed to pass while connected to a FastCGI before aborting
- */
-#define FCGI_DEFAULT_IDLE_TIMEOUT 30
-
-/*
- * (WIN32) # of sec to wait while trying to connect using a named pipe.
- * This is overridden by -appConnTimeout, if set.  This value is similiar
- * to the OS specific (blocking) connect() timeout.  According to XXX
- * this is typically XXX sec.
- */
-#define FCGI_NAMED_PIPE_CONNECT_TIMEOUT  90
-
-/* 
- * [WIN32] The number of millisecs to wait after having signaled the 
- * termination event to its applications before issuing a TerminateProcess().
- * If all of the applications are based on a version of the FastCGI 
- * application library that properly handles the shutdown event
- * (fcgi2 v2.2.4), this can be set to <= 0 to prevent the use of
- * TerminateProcess() entirely.  If non of the applications support the
- * termination event, this value can be set to 1.  It is highly reccomended
- * that the termination event be supported, as TerminateProcess() is a 
- * brutal way of taking down an application.
- */
-#define WIN32_SHUTDOWN_GRACEFUL_WAIT  1000
-
-/*
- * The number of failed starts that can occur before the application is
- * considered broken and start attempts fall back to FAILED_STARTS_DELAY.
- */
-#define MAX_FAILED_STARTS 3
-
-/*
- * The number of seconds an application has to have run without exiting
- * for the application to be considered no longer broken.
- */
-#define RUNTIME_SUCCESS_INTERVAL 30
-
-/*
- * The number of seconds between attempts to start an application that 
- * has been declared broken (see MAX_FAILED_STARTS).
- */
-#define FAILED_STARTS_DELAY 600
-
-#define FCGI_DEFAULT_LISTEN_Q 100          /* listen queue (backlog) depth */
-#define FCGI_DEFAULT_RESTART_DELAY 5       /* delay between restarts */
-#define DEFAULT_INIT_START_DELAY 1         /* delay between starts */
-#define FCGI_DEFAULT_PRIORITY 0            /* process priority - not used */
-#define FCGI_MIN_EXEC_RETRY_DELAY 10       /* minimum number of seconds to
-                                              wait before restarting */
-#define MAX_INIT_ENV_VARS 64               /* max # of -initial-env options */
-
-/* max number of chars in a line of stderr we can handle from a FastCGI Server */
-#define FCGI_SERVER_MAX_STDERR_LINE_LEN 1023     
-
-/* size of the buffer the PM uses to read records from the request handlers */
-#define FCGI_MSGS_BUFSIZE  32 * 512
-
-#define SERVER_BUFSIZE 8192
-
-/* Dynamic FastCGI applications */
-#define FCGI_DEFAULT_MAX_PROCS  50         /* maximum number of processes that
-                                            * are allowed to run on system */
-#define FCGI_DEFAULT_MIN_PROCS  5          /* minimum number of processes that
-                                            * can be run without being killed
-                                            * off by the process manager */
-#define FCGI_DEFAULT_MAX_CLASS_PROCS 10    /* maximum number of processes that
-                                            * are allowed to run for a single
-                                            * application class */
-#define FCGI_DEFAULT_KILL_INTERVAL 300     /* number of seconds in which we
-                                            * should execute the kill policy
-                                            * by killing off extra instances */
-#define FCGI_DEFAULT_UPDATE_INTERVAL 300   /* number of seconds in which we
-                                            * should recalculate the value of
-                                            * totalConnTime variable */
-#define FCGI_DEFAULT_GAIN 0.5              /* value used as an exponent in the
-                                            * calculation of the exponentially
-                                            * decayed connection times;
-                                            * old values are scaled by
-                                            * (1-dynamicGain), so making it
-                                            * smaller weights them more heavily
-                                            * compared to the current value,
-                                            * which is scaled by dynamicGain */
-#define FCGI_DEFAULT_THRESHOLD_1 0         /* if load falls below this value
-                                            * and we have only one instance
-                                            * running, it is killed off */
-#define FCGI_DEFAULT_THRESHOLD_N 50        /* if load falls below this value
-                                            * and we have more than one
-                                            * instances, one is killed off */
-#define FCGI_DEFAULT_START_PROCESS_DELAY 3 /* specifies the maximum number of
-                                            * seconds a server should wait in
-                                            * attempt to connect to fcgi app
-                                            * before sending FCGI_REQUEST_TIMEOUT_JOB */
-
-/*
- * # of sec to wait in a non-blocking connect() to the FastCGI application 
- * before aborting the request, or 0 to indicate that blocking connect()s 
- * should be used.  Non-blocking connect()s are problematic on many platforms.
- */
-#define FCGI_DEFAULT_APP_CONN_TIMEOUT 0
-
-#define FCGI_DEFAULT_PROCESS_SLACK 5       /* if this number combined with the
-                                            * number of the currently running
-                                            * processes exceeds dynamicMaxProcs, then
-                                            * the KillDynamicProcs() is invoked */
-#define FCGI_DEFAULT_RESTART_DYNAMIC 0     /* Do not restart dynamic processes */
-#define FCGI_DEFAULT_AUTOUPDATE 0          /* do not automatically restart
-                                            * fcgi apps when the binary on the
-                                            * disk is changed. */
-
-/*
- * Should data recieved from the FastCGI server be immediately flushed to
- * the client?  Default: FALSE
- */
-#define FCGI_FLUSH     FALSE
-
-#ifdef WIN32
-
-/* # of millisecs to wait on the mbox mutex */
-#define FCGI_MBOX_MUTEX_TIMEOUT 5000
-
-#define DEFAULT_SOCK_DIR "\\\\.\\pipe\\FastCGI\\"
-
-#elif defined(APACHE2)
-
-/* Default dir for Unix/Domain sockets */
-#define DEFAULT_SOCK_DIR  DEFAULT_REL_RUNTIMEDIR "/fastcgi"
-
-#else /* !WIN32 && !APACHE2 */
-
-/* Default dir for Unix/Domain sockets */
-#define DEFAULT_SOCK_DIR "logs/fastcgi"
-
-#endif
-
-#define FCGI_MAGIC_TYPE "application/x-httpd-fcgi"
-
-#if defined(PATH_MAX)
-#define FCGI_MAXPATH  PATH_MAX
-#elif defined(MAXPATHLEN)
-#define FCGI_MAXPATH  MAXPATHLEN
-#else
-#define FCGI_MAXPATH  512
-#endif
-
-/* FCGI_REQUEST_COMPLETE_JOB is the longest: id, path, user, gid, qtime, start */
-#define FCGI_MSG_CRAP  1 + 2 + MAX_USER_NAME_LEN + 1 + MAX_GID_CHAR_LEN + (2 * 11) + 3
-#if defined(PIPE_BUF) && PIPE_BUF < FCGI_MAXPATH + FCGI_MSG_CRAP
-#define FCGI_MAX_MSG_LEN  PIPE_BUF
-#undef FCGI_MAXPATH
-#define FCGI_MAXPATH  PIPE_BUF - FCGI_MSG_CRAP
-#else
-#define FCGI_MAX_MSG_LEN  FCGI_MAXPATH + FCGI_MSG_CRAP
-#endif
-
-/* There is no way to reliably determiine the highest descriptor that can be
- * assigned (UNP Vol1 Ed2 p337, and APUE p43) so we pick a number. */
-#if (defined FD_SETSIZE) && (FD_SETSIZE > 1024)
-#define FCGI_MAX_FD FD_SETSIZE
-#else
-#define FCGI_MAX_FD  1024
-#endif
-
-#ifndef SUN_LEN
-#define SUN_LEN(sock) \
-    (sizeof(*(sock)) - sizeof((sock)->sun_path) + strlen((sock)->sun_path))
-#endif
-
-#if defined MAXLOGNAME && MAXLOGNAME > 15
-#define MAX_USER_NAME_LEN MAXLOGNAME
-#elif defined UT_NAMESIZE && UT_NAMESIZE > 15
-#define MAX_USER_NAME_LEN UT_NAMESIZE
-#else
-#define MAX_USER_NAME_LEN 15     /* Max len of user name (suexec w/ ~user), */
-#endif                           /* must accomodate uid printed as %ld too */
-#define MAX_GID_CHAR_LEN 15      /* Max #chars in a gid printed as %ld */
-
-#ifndef TRUE
-#define TRUE  (1)
-#endif
-
-#ifndef FALSE
-#define FALSE (0)
-#endif
-
-#ifndef min
-#define min(a,b) ((a) < (b) ? (a) : (b))
-#endif
-
-#ifndef max
-#define max(a,b) ((a) > (b) ? (a) : (b))
-#endif
-
-#ifdef APACHE2
-
-#define get_signal_text(a)  apr_signal_description_get(a)
-
-#else /* !APACHE2 */
-
-/* This is (more or less) from http_main.c. It should be in an Apache header */
-#ifndef SYS_SIGLIST
-#define SYS_SIGLIST ap_sys_siglist
-extern const char *ap_sys_siglist[]; 
-#endif
-
-#define get_signal_text(a)  SYS_SIGLIST[WTERMSIG(a)]
-
-#endif /* !APACHE2 */
-
-#endif /* MOD_FASTCGI_H */
-
+/*\r
+ * $Id: mod_fastcgi.h,v 1.47 2003/11/24 02:38:39 robs Exp $\r
+ */\r
+\r
+#ifndef MOD_FASTCGI_H\r
+#define MOD_FASTCGI_H\r
+\r
+#define MOD_FASTCGI_VERSION "2.4.2"\r
+\r
+#define FASTCGI_HANDLER_NAME "fastcgi-script"\r
+\r
+/*\r
+ * # of idle seconds allowed to pass while connected to a FastCGI before aborting\r
+ */\r
+#define FCGI_DEFAULT_IDLE_TIMEOUT 30\r
+\r
+/*\r
+ * (WIN32) # of sec to wait while trying to connect using a named pipe.\r
+ * This is overridden by -appConnTimeout, if set.  This value is similiar\r
+ * to the OS specific (blocking) connect() timeout.  According to XXX\r
+ * this is typically XXX sec.\r
+ */\r
+#define FCGI_NAMED_PIPE_CONNECT_TIMEOUT  90\r
+\r
+/* \r
+ * [WIN32] The number of millisecs to wait after having signaled the \r
+ * termination event to its applications before issuing a TerminateProcess().\r
+ * If all of the applications are based on a version of the FastCGI \r
+ * application library that properly handles the shutdown event\r
+ * (fcgi2 v2.2.4), this can be set to <= 0 to prevent the use of\r
+ * TerminateProcess() entirely.  If non of the applications support the\r
+ * termination event, this value can be set to 1.  It is highly reccomended\r
+ * that the termination event be supported, as TerminateProcess() is a \r
+ * brutal way of taking down an application.\r
+ */\r
+#define WIN32_SHUTDOWN_GRACEFUL_WAIT  1000\r
+\r
+/*\r
+ * The number of failed starts that can occur before the application is\r
+ * considered broken and start attempts fall back to FAILED_STARTS_DELAY.\r
+ */\r
+#define MAX_FAILED_STARTS 3\r
+\r
+/*\r
+ * The number of seconds an application has to have run without exiting\r
+ * for the application to be considered no longer broken.\r
+ */\r
+#define RUNTIME_SUCCESS_INTERVAL 30\r
+\r
+/*\r
+ * The number of seconds between attempts to start an application that \r
+ * has been declared broken (see MAX_FAILED_STARTS).\r
+ */\r
+#define FAILED_STARTS_DELAY 600\r
+\r
+#define FCGI_DEFAULT_LISTEN_Q 100          /* listen queue (backlog) depth */\r
+#define FCGI_DEFAULT_RESTART_DELAY 5       /* delay between restarts */\r
+#define DEFAULT_INIT_START_DELAY 1         /* delay between starts */\r
+#define FCGI_DEFAULT_PRIORITY 0            /* process priority - not used */\r
+#define FCGI_MIN_EXEC_RETRY_DELAY 10       /* minimum number of seconds to\r
+                                              wait before restarting */\r
+#define MAX_INIT_ENV_VARS 64               /* max # of -initial-env options */\r
+\r
+/* max number of chars in a line of stderr we can handle from a FastCGI Server */\r
+#define FCGI_SERVER_MAX_STDERR_LINE_LEN 1023     \r
+\r
+/* size of the buffer the PM uses to read records from the request handlers */\r
+#define FCGI_MSGS_BUFSIZE  32 * 512\r
+\r
+#define SERVER_BUFSIZE 8192\r
+\r
+/* Dynamic FastCGI applications */\r
+#define FCGI_DEFAULT_MAX_PROCS  50         /* maximum number of processes that\r
+                                            * are allowed to run on system */\r
+#define FCGI_DEFAULT_MIN_PROCS  5          /* minimum number of processes that\r
+                                            * can be run without being killed\r
+                                            * off by the process manager */\r
+#define FCGI_DEFAULT_MAX_CLASS_PROCS 10    /* maximum number of processes that\r
+                                            * are allowed to run for a single\r
+                                            * application class */\r
+#define FCGI_DEFAULT_KILL_INTERVAL 300     /* number of seconds in which we\r
+                                            * should execute the kill policy\r
+                                            * by killing off extra instances */\r
+#define FCGI_DEFAULT_UPDATE_INTERVAL 300   /* number of seconds in which we\r
+                                            * should recalculate the value of\r
+                                            * totalConnTime variable */\r
+#define FCGI_DEFAULT_GAIN 0.5              /* value used as an exponent in the\r
+                                            * calculation of the exponentially\r
+                                            * decayed connection times;\r
+                                            * old values are scaled by\r
+                                            * (1-dynamicGain), so making it\r
+                                            * smaller weights them more heavily\r
+                                            * compared to the current value,\r
+                                            * which is scaled by dynamicGain */\r
+#define FCGI_DEFAULT_THRESHOLD_1 0         /* if load falls below this value\r
+                                            * and we have only one instance\r
+                                            * running, it is killed off */\r
+#define FCGI_DEFAULT_THRESHOLD_N 50        /* if load falls below this value\r
+                                            * and we have more than one\r
+                                            * instances, one is killed off */\r
+#define FCGI_DEFAULT_START_PROCESS_DELAY 3 /* specifies the maximum number of\r
+                                            * seconds a server should wait in\r
+                                            * attempt to connect to fcgi app\r
+                                            * before sending FCGI_REQUEST_TIMEOUT_JOB */\r
+\r
+/*\r
+ * # of sec to wait in a non-blocking connect() to the FastCGI application \r
+ * before aborting the request, or 0 to indicate that blocking connect()s \r
+ * should be used.  Non-blocking connect()s are problematic on many platforms.\r
+ */\r
+#define FCGI_DEFAULT_APP_CONN_TIMEOUT 0\r
+\r
+#define FCGI_DEFAULT_PROCESS_SLACK 5       /* if this number combined with the\r
+                                            * number of the currently running\r
+                                            * processes exceeds dynamicMaxProcs, then\r
+                                            * the KillDynamicProcs() is invoked */\r
+#define FCGI_DEFAULT_RESTART_DYNAMIC 0     /* Do not restart dynamic processes */\r
+#define FCGI_DEFAULT_AUTOUPDATE 0          /* do not automatically restart\r
+                                            * fcgi apps when the binary on the\r
+                                            * disk is changed. */\r
+\r
+/*\r
+ * Should data recieved from the FastCGI server be immediately flushed to\r
+ * the client?  Default: FALSE\r
+ */\r
+#define FCGI_FLUSH     FALSE\r
+\r
+#ifdef WIN32\r
+\r
+/* # of millisecs to wait on the mbox mutex */\r
+#define FCGI_MBOX_MUTEX_TIMEOUT 5000\r
+\r
+#define DEFAULT_SOCK_DIR "\\\\.\\pipe\\FastCGI\\"\r
+\r
+#elif defined(APACHE2)\r
+\r
+/* Default dir for Unix/Domain sockets */\r
+#define DEFAULT_SOCK_DIR  DEFAULT_REL_RUNTIMEDIR "/fastcgi"\r
+\r
+#else /* !WIN32 && !APACHE2 */\r
+\r
+/* Default dir for Unix/Domain sockets */\r
+#define DEFAULT_SOCK_DIR "logs/fastcgi"\r
+\r
+#endif\r
+\r
+#define FCGI_MAGIC_TYPE "application/x-httpd-fcgi"\r
+\r
+#if defined(PATH_MAX)\r
+#define FCGI_MAXPATH  PATH_MAX\r
+#elif defined(MAXPATHLEN)\r
+#define FCGI_MAXPATH  MAXPATHLEN\r
+#else\r
+#define FCGI_MAXPATH  512\r
+#endif\r
+\r
+/* FCGI_REQUEST_COMPLETE_JOB is the longest: id, path, user, gid, qtime, start */\r
+#define FCGI_MSG_CRAP  1 + 2 + MAX_USER_NAME_LEN + 1 + MAX_GID_CHAR_LEN + (2 * 11) + 3\r
\r
+#if defined(PIPE_BUF) && PIPE_BUF < FCGI_MAXPATH + FCGI_MSG_CRAP\r
+#define FCGI_MAX_MSG_LEN  PIPE_BUF\r
+#undef FCGI_MAXPATH\r
+#define FCGI_MAXPATH  PIPE_BUF - FCGI_MSG_CRAP\r
+#else\r
+#define FCGI_MAX_MSG_LEN  FCGI_MAXPATH + FCGI_MSG_CRAP\r
+#endif\r
+\r
+/* There is no way to reliably determiine the highest descriptor that can be\r
+ * assigned (UNP Vol1 Ed2 p337, and APUE p43) so we pick a number. */\r
+#if (defined FD_SETSIZE) && (FD_SETSIZE > 1024)\r
+#define FCGI_MAX_FD FD_SETSIZE\r
+#else\r
+#define FCGI_MAX_FD  1024\r
+#endif\r
+\r
+#ifndef SUN_LEN\r
+#define SUN_LEN(sock) \\r
+    (sizeof(*(sock)) - sizeof((sock)->sun_path) + strlen((sock)->sun_path))\r
+#endif\r
+\r
+#if defined MAXLOGNAME && MAXLOGNAME > 15\r
+#define MAX_USER_NAME_LEN MAXLOGNAME\r
+#elif defined UT_NAMESIZE && UT_NAMESIZE > 15\r
+#define MAX_USER_NAME_LEN UT_NAMESIZE\r
+#else\r
+#define MAX_USER_NAME_LEN 15     /* Max len of user name (suexec w/ ~user), */\r
+#endif                           /* must accomodate uid printed as %ld too */\r
+#define MAX_GID_CHAR_LEN 15      /* Max #chars in a gid printed as %ld */\r
+\r
+#ifndef TRUE\r
+#define TRUE  (1)\r
+#endif\r
+\r
+#ifndef FALSE\r
+#define FALSE (0)\r
+#endif\r
+\r
+#ifndef min\r
+#define min(a,b) ((a) < (b) ? (a) : (b))\r
+#endif\r
+\r
+#ifndef max\r
+#define max(a,b) ((a) > (b) ? (a) : (b))\r
+#endif\r
+\r
+#ifdef APACHE2\r
+\r
+#define get_signal_text(a)  apr_signal_description_get(a)\r
+\r
+#else /* !APACHE2 */\r
+\r
+/* This is (more or less) from http_main.c. It should be in an Apache header */\r
+#ifndef SYS_SIGLIST\r
+#define SYS_SIGLIST ap_sys_siglist\r
+extern const char *ap_sys_siglist[]; \r
+#endif\r
+\r
+#define get_signal_text(a)  SYS_SIGLIST[WTERMSIG(a)]\r
+\r
+#endif /* !APACHE2 */\r
+\r
+#endif /* MOD_FASTCGI_H */\r
+\r