httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paul Querna <>
Subject MPMs, COW vs Child Process Spawning
Date Wed, 29 Oct 2008 18:59:06 GMT
Is COW ability of fork important enough with modern memory and operating 
systems, to maintain two significantly different code paths for spawning 
children processes?


One of the things I would like to do on the Simple MPM is unify how 
child processes are created on win32 and unix.

On Win32, there is no fork, so roughly speaking what the current winnt 
MPM creates a new process, and feeds the configuration over a pipe to 
the new child.

On Unix, all of the current MPMs use fork, and do not execute a new 
process, but instead then drop privileges and continue running.

What I would like to do, is change Unix to use the same pattern as on 

Doing this could also solves some issues with on some platforms[2].

It is common on most unix platforms for fork() to use copy on write[1] 
for memory pages.

This means when spawning a child it uses much less 'real' memory, 
compared to spawning a completely new process.

[1] -
[2] -

View raw message