А вот, кажется, правильныый фикс к обсуждаемой проблеме
-- forwarded message --
Path: artifact.geol.msu.ru!mail2news
From: shields@xxxxxxxxxxxxx (Michael Shields)
Subject: [PATCH] NULL cleanup hander registered, causes segfault
Date: 15 Oct 1998 07:58:08 +0400
Lines: 29
Message-ID: <13861.29365.873257.788604@xxxxxxxxxxxxxxxxxxxxxx>
NNTP-Posting-Host: artifact.geol.msu.ru
When building Apache 1.3.3 with Ben-SSL 1.27 and mod_perl 1.16 on
Linux, I found that httpsd was segfaulting when trying to exec the
gcache, because while running cleanups in preparation for an exec, it
tried to dereference a null pointer which mod_perl had registered as a
child cleanup hander.
The patch below fixes this, and the server now starts and runs
correctly, even with a dynamically loaded mod_perl.
Index: src/modules/perl/mod_perl.c
===================================================================
RCS file: /usr/local/cvs/libapache-mod-perl/src/modules/perl/mod_perl.c,v
retrieving revision 1.3
diff -u -r1.3 mod_perl.c
--- mod_perl.c 1998/10/14 20:57:16 1.3
+++ mod_perl.c 1998/10/15 03:35:29
@@ -690,7 +690,7 @@
Apache__ServerStarting(FALSE);
#if MODULE_MAGIC_NUMBER >= MMN_130
if(perl_module.dynamic_load_handle)
- register_cleanup(p, NULL, mp_dso_unload, NULL);
+ register_cleanup(p, NULL, mp_dso_unload, null_cleanup);
#endif
}
--
Shields, CrossLink.
-- end of forwarded message --
----- End forwarded message -----
=============================================================================
= Apache-Talk@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.