> > And can we still do an ldap_unbind_s(ldc->ldap); if we did an > > apr_ldap_rebind_remove(ldc->ldap); before? > > This is a good point. For the IBM/Tivoli SDK the callback can be > called a 2nd time as a cleanup (in the IBM SDK terms, not APR). This > will trigger a full/failing search of the linked list under the mutex. > I don't know when the "cleanup" style of callback is actually called > by the SDK but it is probably best to avoid that ordering.
Looks like we don't hit the linked list in the free/cleanup case on the IBM SDK. But for openldap we do give the SDK pointers to pool allocated memory (not that they should be needed for unbind, but could be traced) So probably best to continue unbinding first. -- Eric Covener [email protected]
