[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: LDAP CLIENT MULTI THREADED



At 09:45 AM 6/22/99 -0500, Nalla, Suneetha wrote:
>Does any one know how multithreaded the client code is. 
>Has anyone used the asynchronous client calls multithreaded where you have
>multiple threads sharing the same connection. 
>What happens if two threads both call ldap_result at the same time with the
>same LDAP * with a different messageId.

Undefined.

The OpenLDAP API is designed to be "session-level" thread safe.
The the caller must ensure that all operations upon an LDAP session
are serialized.  This serialization can be done by either limiting
execution to one "thread" or by using locks.  The API is not
currently designed to be "operation-level" thread safe.

I am currently working on updating the client API to resolve
a number of thread safety issues.  The goal is to ensure a
basic level of safety within the primary LDAP library (-lldap)
and then offer an alternative LDAP library (-lldap_r) which
offers additional levels of thread safety.

You may want to checkout the Mozilla Directory Project
(http://www.mozilla.org/directory/).  They offer an open source
LDAP SDK which has features that allow "operation-level"
thread safety.  The Mozilla Directory SDK and OpenLDAP
interoperate well.

Kurt