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

RE: Thread safety in OpenLdap API.



> -----Original Message-----
> From: owner-openldap-software@OpenLDAP.org
> [mailto:owner-openldap-software@OpenLDAP.org]On Behalf Of Hagai Yaffe

> Hi,
>
> 	I am linking my application with the OpenLdap
> oldap32.lib & olber32.lib libraries in order to connect to
> Microsoft Active directory server using SSL and get data on
> users from it. my application is multi threaded but my
> threads do not share any data that is relevant to the
> OpenLdap libraries, each thread that needs info from the
> Active directory server connects to it and sends request's
> for the relevant info.
>
> i have looked in the OpenLdap documentation for thread-safety
> issues and could not find anything conclusive, what that I
> would like to know is if there is static / shared data that
> is kept at the OpenLdap libraries and might cause problem for
> me when two threads perform OpenLdap API calls at the same
> time (Using different LDAP * variables).

For Windows, the answer is "it depends." The MSVC project files are not
rigorously maintained, and are generally a mess. There are a number of
different build targets (the usual debug vs release, as well as static vs
DLL, and single vs multithreaded CRT) and so it can be a pain to work out
what you need. Finally, you should use the libldap_r library, which uses
mutexes to protect its global data. I don't recall what it's called in the
MSVC build.

  -- Howard Chu
  Chief Architect, Symas Corp.       Director, Highland Sun
  http://www.symas.com               http://highlandsun.com/hyc
  Symas: Premier OpenSource Development and Support