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

Re: (ITS#8638) Recursive mutex in libldap_r



Ond=C5=99ej Kuzn=C3=ADk wrote:
> On Fri, Apr 14, 2017 at 01:14:08PM +0000, hyc@symas.com wrote:
>> okuznik@symas.com wrote:
>>> Integrating with libevent, I would find it useful if libldap_r provid=
ed a
>>> recursive mutex as well, since this is what libevent uses.
>>
>> You mean libldap_r/rmutex.c ?
>
> Hmm, I see that now, but is quite heavy weight if this already exists i=
n
> many implementations natively, often at no cost at all. What if I
> renamed the current ldap_pvt_*_rmutex_* functions to ldap_int_* and
> deferred to them in the two implementations that can't do recursive
> mutexes only?
>
> This would be an ABI break for rmutex users, other than that, there
> seems to be no expectation that two versions of libldap_r compiled
> against a different thread implementation should be ABI compatible
> already.

IMO using recursive mutexes means your code is broken. We introduced thes=
e for=20
accesslog.c but in fact we could avoid them at zero cost. Also I don't se=
e the=20
relevance of libevent to this discussion. We use our own event mechanism =
and=20
it is more efficient than libevent.

--=20
   -- Howard Chu
   CTO, Symas Corp.           http://www.symas.com
   Director, Highland Sun     http://highlandsun.com/hyc/
   Chief Architect, OpenLDAP  http://www.openldap.org/project/