List: apache-httpd-dev
Subject: mod_ldap and threaded MPMs
From: Graham Leggett <minfrin () sharp ! fm>
Date: 2002-12-09 8:46:01
Hi all,
When httpd is compiled with the worker MPM (threaded), mod_ldap's
connection pool fails - many connections to the LDAP server are opened
until connections run out. The prefork MPM seems to work fine.
I don't have much time this week to look at this, if someone who knows
threads and locking could look at this I would be very grateful :)
Regards,
Graham
--
-----------------------------------------
[EMAIL PROTECTED] "There's a moon
over Bourbon Street
tonight..."
From: Bennett, Tony - CNF [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, December 18, 2002 2:44 PM
To: '[EMAIL PROTECTED]'
Cc: [EMAIL PROTECTED]
Subject: [Auth_ldap] util_ldap_cache & shared memory failure
Sorry for the cross post, but I'm not sure which
group
is appropriate.
I am getting the following message in my apache error log
[Wed Dec 18 11:23:18 2002] [debug] util_ldap_cache.c(307): (17)Do not specify an existing file.
I believe I have tracked this down to a problem with util_ldap_cache.c.
util_ldap.c has registered its
util_ldap_init_module() function to be called
during "child_init" as follows:
ap_hook_child_init(util_ldap_init_module, NULL, NULL, APR_HOOK_MIDDLE);
util_ldap_init_module() in turn calls util_ldap_cache_init() (contained in util_ldap_cache.c).
util_ldap_cache_init() tries to create a shared
memory segment by calling apr_shm_create()
as
follows:
result = apr_shm_create(&util_ldap_shm, reqsize,
"/tmp/ldap_cache", pool);
This call fails for all but the first time it is
called... with the message shown at the top.
The failure causes util_ldap_cache_init() to return immediately... and
not complete the function.
The failure
is because apr_shm_create() expects the file, "/tmp/ldap_cache", to be
non-existent...
...and it will create it...
if it exists, then the function fails.
If I'm not mistaken, I don't believe the shared memory should be "created" for each child.
Using mod_auth_digest, and mod_ssl as a model... it
appears it should be created in a
ap_hook_post_config() hook.
Does this seem correct???
Here's my Environment:
Version: Apache 2.0.42
OS:
AIX 4.3.3
Compiler: IBM C for AIX version
6.0
Thanks,
-tony