On Tuesday 20 September 2005 01:24, Howard Chu wrote:
That's pretty interesting news, thanks for sharing it. I would guess you
could even gain some measure of thread-safety (using libldap_r) which
native wldap32 lacks. Probably a moot point, since Windows apps would be
written to assume a non-threadsafe library.
I'm not sure why you say that native wldap32 lacks thread-safety, MSDN
certainly claims these calls are thread-safe. Do you have evidence to
the contrary? Maybe this has changed in the mean time?
Ah you're right, I was thinking of ADSI e.g. http://groups.google.com/group/microsoft.public.adsi.general/msg/c1236f7f7d74dd3a?dmode=source
That's fair; in the LDAPv3 API the context structures are opaque anyway, and only get/set_option are supported.Whatever the case may be, yes, having libldap_r is helpful in providing thread-safety, otherwise I probably would have had to do that myself ;-).
And because Wine requires thread support on the Unix platform it runs on I
suspect that there's a great overlap with the platforms where libldap_r is available.
Still, we don't support some apps out there (very old apps probably, don't know about any) that access the LDAP context structure directly, instead of using ldap_{get,set}_option(). Not because of thread-safety issues, but because we don't use a Windows compatible context structure, we simply pass on pointers to OpenLDAP context structures.
-- -- Howard Chu Chief Architect, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc OpenLDAP Core Team http://www.openldap.org/project/