Hi there,

On Tue, 16 Jan 2001, Doremus, Matthew wrote:

> Is this to say that an underlying memory allocator would return an address
> from the malloc function of memory which had previously been allocated by
> another process ?  This seems to be somewhat chaotic for any memory
> allocation, shared or not. But, assuming that the allocations are somehow
> made common it seems that the initialization of the hash table in the
> table_alloc routine would then reinitialize the common hash table each time
> new servers are started up.

We may all be talking at cross-purposes here.

The shared memory session caches (there's two of them) use Ralf's "mm"
library to create, initialise and then use (at run-time) a shared-memory
segment so that all the Apache child processes can use the same cache. The
"malloc" as you put it is not a regular "malloc" but involves the creation
of the shared memory segment inside the mm library - and this, together
with the initialisation that follows, only happens in the parent httpd
process when Apache (with mod_ssl) first starts up. Only after that setup
is complete (together with any other apache or apache-module
initialisations) will Apache then start to fork() off child processes to
actually deal with user requests.

So in short, the answer to your question is no ... each "server" doesn't
reinitialise the hash table - it is already initialised before the servers
(read "server processes") are created, they simply have access to it to
add/remove sessions at run-time. NB: here I assume you mean server
processes on the same machine - as I already pointed out in another email
this does *not* mean different server machines.

Regards,
Geoff



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

Reply via email to