cvs: php3 / ChangeLog acconfig.h configure.in main.c
| From: | Thies C. Arntzen | Date: | Wed, 31 May 2000 14:24:49 +0000 |
| Subject: | cvs: php3 / ChangeLog acconfig.h configure.in main.c | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-19890@lists.php.net to get a copy of this message | ||
thies Wed May 31 07:24:49 2000 EDT
Modified files:
/php3 ChangeLog acconfig.h configure.in main.c
Log:
added --enable-sigchild to avoid <defunc> child processes
Index: php3/ChangeLog
diff -u php3/ChangeLog:1.840 php3/ChangeLog:1.841
--- php3/ChangeLog:1.840 Thu May 25 00:59:06 2000
+++ php3/ChangeLog Wed May 31 07:24:48 2000
@@ -2,6 +2,8 @@
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?, 200x, Version 3.0.17
+- added --enable-sigchild. Use this option if you encounter
+ <defunc> processes when using Oracle 8i. (Thies)
- Uncommitted outstanding OCI8 transactions are now rolled back
before the connection is closed. (Thies)
- Improved configure checks for Oracle 8i. (Thies)
Index: php3/acconfig.h
diff -u php3/acconfig.h:1.122 php3/acconfig.h:1.123
--- php3/acconfig.h:1.122 Sun Mar 12 19:25:56 2000
+++ php3/acconfig.h Wed May 31 07:24:48 2000
@@ -110,6 +110,12 @@
/* Define if you want POST/GET/Cookie track variables by default */
#define PHP_TRACK_VARS 0
+/* Define if PHP to setup it's own SIGCHLD handler */
+#define PHP_SIGCHILD 0
+
+/* Define if you want POST/GET/Cookie track variables by default */
+#define PHP_TRACK_VARS 0
+
/* Undefine if you want stricter XML/SGML compliance by default */
/* (this disables "<?expression?>" by default) */
#define DEFAULT_SHORT_OPEN_TAG 1
Index: php3/configure.in
diff -u php3/configure.in:1.504 php3/configure.in:1.505
--- php3/configure.in:1.504 Thu May 25 00:59:06 2000
+++ php3/configure.in Wed May 31 07:24:48 2000
@@ -1,4 +1,4 @@
-dnl $Id: configure.in,v 1.504 2000/05/25 07:59:06 thies Exp $
+dnl $Id: configure.in,v 1.505 2000/05/31 14:24:48 thies Exp $
dnl Process this file with autoconf to produce a configure script.
AC_INIT(main.c)
@@ -1265,6 +1265,13 @@
AC_DEFINE(HAVE_ORACLE)
+ echo "+--------------------------------------------------------------------+"
+ echo "| Notice: |"
+ echo "| If you encounter <defunc> processes when using a local Oracle-DB |"
+ echo "| please recompile PHP and specify --enable-sigchild when configuring|"
+ echo "| (This problem has been reported un Linux using Oracle >= 8.1.5) |"
+ echo "+--------------------------------------------------------------------+"
+
fi
],[AC_MSG_RESULT(no)])
@@ -2465,6 +2472,22 @@
AC_MSG_RESULT(/usr/local/php/bin)
])
+
+AC_MSG_CHECKING(whether to enable PHP's own SIGCHLD handler)
+AC_ARG_ENABLE(sigchild,
+[ --enable-sigchild Enable PHP's own SIGCHLD handler.],
+[
+ if test "$enableval" = "yes"; then
+ AC_DEFINE(PHP_SIGCHILD, 1)
+ AC_MSG_RESULT(yes)
+ else
+ AC_DEFINE(PHP_SIGCHILD, 0)
+ AC_MSG_RESULT(no)
+ fi
+],[
+ AC_DEFINE(PHP_SIGCHILD, 0)
+ AC_MSG_RESULT(no)
+])
AC_MSG_CHECKING(whether to enable track_vars variables by default)
AC_ARG_ENABLE(track-vars,
Index: php3/main.c
diff -u php3/main.c:1.513 php3/main.c:1.514
--- php3/main.c:1.513 Mon Apr 10 12:29:36 2000
+++ php3/main.c Wed May 31 07:24:48 2000
@@ -29,7 +29,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: main.c,v 1.513 2000/04/10 19:29:36 andi Exp $ */
+/* $Id: main.c,v 1.514 2000/05/31 14:24:48 thies Exp $ */
/* #define CRASH_DETECTION */
@@ -81,6 +81,11 @@
#include <syslog.h>
#endif
+#if PHP_SIGCHILD
+#include <sys/types.h>
+#include <sys/wait.h>
+#endif
+
#if USE_SAPI
#include "serverapi/sapi.h"
void *gLock;
@@ -591,6 +596,17 @@
/* }}} */
+#if PHP_SIGCHILD
+static void sigchld_handler(int apar)
+{
+ while (waitpid(-1, NULL, WNOHANG) > 0)
+ ;
+ signal(SIGCHLD,sigchld_handler);
+}
+#endif
+
+
+
int php3_request_startup(INLINE_TLS_VOID)
{
#if APACHE && defined(CRASH_DETECTION)
@@ -601,6 +617,11 @@
log_error(log_message, php3_rqst->server);
}
#endif
+
+#if PHP_SIGCHILD
+ signal(SIGCHLD,sigchld_handler);
+#endif
+
GLOBAL(max_execution_time) = php3_ini.max_execution_time;
php3_set_timeout(GLOBAL(max_execution_time) _INLINE_TLS);