We have an application which uses the Netscape
LDAP SDK on Linux. It is multithreaded.
The configuration is as follows :
1. We are using Red Hat Linux 6.1
2. We are using the Hard Hat Linux Cross-
Development Compiler. This is available
at the following url www.mvista.com.
3. We are also using the ACE libraries for
Linux. These are available at the following
url : www.cs.wustl.edu/~schmidt/ACE.html
4. We are using the Netscape LDAP 3.0. SDK
version.
The application works fine in a single threaded
mode. But when used in multi threaded mode it
crashes. We have tried debugging it using gdb,
and feel that the LDAP SDK may not be multi
thread safe. We are using the LDAP_OPT_RECONNECT
and LDAP_OPT_RESTART options.
Some doubts that we have are :
1. Has anyone used the LDAP SDK with HardHat
before, and encountered any problems in
multi-threaded code.
2. Are there any issues about Thread Safety
in the Netscape LDAP SDK that are not
documented ?
We are only using the following LDAP API :
a. ldap_init_s
b. ldap_simple_bind_s
c. ldap_ext_search_s
d. ldap_unbind
e. ldap_set_option
All these are synchronous calls.
In our code, each thread performs an LDAP search.
Each thread binds only once to the server and uses
the LDAP pointer for the remaining retrievals.
Any help in this regard will be highly appreciated.
- Thanks
Sroy