Why LDAPObject.._ldap_object_lock around library calls?
Michael Ströder
michael at stroeder.com
Wed May 5 07:50:20 CEST 2004
Ken Key wrote:
>
> I'm having a little trouble with the _ldap_object_lock in the
> LDAPObject around ldap library function calls.
Which trouble do you have?
> Is the link
> to protect against threads making function calls when the _ldap
> module is linked against the non-reentrant version of the libldap?
> That is, wouldn't it be safe to get rid of the _ldap_object_lock
> references in LDAPObject._ldap_call() if the module is linked
> against libldap_r? Or is there some other, non-threadsafe reason
> that I'm missing?
According to related postings on the OpenLDAP lists libldap_r is re-entrant
on a per-connection basis. Therefore linking with libldap_r improves the
situation since a finer-grained locking is used in LDAPObject class (see
method _ldap_lock()).
Note that proper support for libldap_r also depends on the version of the
OpenLDAP libs used.
Ciao, Michael.
More information about the python-ldap
mailing list