You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by tr...@apache.org on 2003/12/11 20:05:30 UTC
cvs commit: httpd-2.0/server mpm_common.c
trawick 2003/12/11 11:05:30
Modified: server mpm_common.c
Log:
fix a problem where a crash of a non-MPM child process could
result in an error log message stating that the parent had
crashed
the problem, which affected all *X platforms, was due to an
attempt to support the general problem with linuxthreads;
this change leaves us with a relatively obscure hole when
running on linuxthreads (see comments)
Revision Changes Path
1.111 +8 -1 httpd-2.0/server/mpm_common.c
Index: mpm_common.c
===================================================================
RCS file: /home/cvs/httpd-2.0/server/mpm_common.c,v
retrieving revision 1.110
retrieving revision 1.111
diff -u -r1.110 -r1.111
--- mpm_common.c 26 Nov 2003 03:45:34 -0000 1.110
+++ mpm_common.c 11 Dec 2003 19:05:30 -0000 1.111
@@ -948,7 +948,14 @@
#if AP_ENABLE_EXCEPTION_HOOK
run_fatal_exception_hook(sig);
#endif
- if (my_pid == parent_pid) {
+ /* linuxthreads issue calling getpid() here:
+ * This comparison won't match if the crashing thread is
+ * some module's thread that runs in the parent process.
+ * The fallout, which is limited to linuxthreads:
+ * The special log message won't be written when such a
+ * thread in the parent causes the parent to crash.
+ */
+ if (getpid() == parent_pid) {
ap_log_error(APLOG_MARK, APLOG_NOTICE,
0, ap_server_conf,
"seg fault or similar nasty error detected "