* libldap has no supported thread-safe API.  Threaded programs that link
   against libldap are required to handle locking themselves.

Wow, ok, I'm very not happy with this answer.

Russ left out a pertinent comment. I said:
Until somebody decides to invest some energy into writing a new C API spec,
(simply dusting off the expired C API draft won't cut it) there is not and
will never be any official support for threading/re-entrancy in the LDAP API.

I think that *all* libraries should have thread-safe APIs;

We all agree on that. Thus this page
http://scratchpad.wikia.com/wiki/LDAP_C_API

but it's not going to happen until more people get involved.

> and aside from this minor blemish, libldap_r
appears to already be a perfectly good thread-safe, reentrant library,
supported by upstream or not.

Ideally libldap would be re-entrant and free-threaded. But there are so many other problems with the API already, we're not interested in putting any more bandaids on it. We need a ground-up effort at defining a new API. We may not have to throw out 100% of what we have today, but there's no point in continuing to patch it. It's junk, and needs to be rewritten.

We have the following callers using libldap in Debian which also have need
of thread-safety and currently take no additional steps to ensure libldap is
thread-safe:

- libnss-ldap

Not true, nss_ldap already locks itself to prevent re-entrance. As such, it *must* only be linked with libldap, not libldap_r. (Remember, nss_ldap was written to work with other vendors' libraries too, and none of them are re-entrant, so it has to do the locking itself.)
--
  -- Howard Chu
  Chief Architect, Symas Corp.  http://www.symas.com
  Director, Highland Sun        http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP     http://www.openldap.org/project/



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to