Thomas Munro <thomas.munro@xxxxxxxxx> writes: > On Wed, Feb 27, 2019 at 3:57 AM Tom Lane <tgl@xxxxxxxxxxxxx> wrote: >> If pthread_is_threaded_np(), or something equivalent, is widely available >> then it might be all right to try solving this going forward by switching >> to libldap_r and seeing if anyone hits those cross-checks. I'd be afraid >> to risk it in the back branches though ... > Hmm. Well here is a new data point: it looks like the Red Hat family > of distributions is in the process of making the same decision as > Debian (namely: to expunge the non-MT variant, because it bites > various projects in the same way that it bites us), but they haven't > quite hasn't pulled the trigger yet: > https://fedoraproject.org/wiki/Changes/OpenLDAPwithoutNonthreadedLibraries Interesting, but that's going to be a very slow change. That says they'll pull the trigger in Fedora 30, which I think is due to be released this spring --- but it won't show up in RHEL till the next major release (8 or maybe even 9 at this point), and the existing major releases have got 10-year support lifespans. > I don't see pthread_is_threaded_np() on any non-Apple systems in my > lab. Yeah, I thought that might be a Mac thing. I wonder if POSIX has any usable equivalent. > Clearly libdap_r is *capable* of creating threads: it contains a > function ldap_pvt_thread_create(), and we can see that slapd and other > OpenLDAP things use that, but AFAICT that's a private facility not > intended for end users to call, so there's no danger if you just use > the documented LDAP client API. That seems promising, but I'd sure be happier if we could cross-check that there's still just one thread at the completion of authentication. regards, tom lane