Subject: Segmentation fault

From: Igor Sysoev <[email-masked]>
Date: Thu, 1 May 2003 21:42:34 +0400 (MSD)

I think that ap_cleanup_for_exec() should not call ap_kill_alloc_shared()
but instead should call some munmap()/shmclt(IPC_RMID)/etc wrapper without
a freeing the allocated blocks in pool - these blocks still in use by other
processes.

Igor Sysoev
http://sysoev.ru/en/

______________________________________________________________________
Apache Interface to OpenSSL (mod_ssl)                   www.modssl.org
User Support Mailing List                      [email-masked]
Automated List Manager                            [email-masked]

---

From: Igor Sysoev <[email-masked]>
Date: Thu, 1 May 2003 22:31:16 +0400 (MSD)

> a freeing the allocated blocks in pool - these blocks still in use by other

Well, ap_kill_alloc_shared() does not free allocated blocks but it calls
mm_destroy() that wipes out shared memory with zeros before munmap()/etc
while other processes still think that this memory is valid.

But I still can not understand why this fix was made at all.
SysV shared segments and mmap()ed memory are not inherited across exec.

Igor Sysoev
http://sysoev.ru/en/