Changes included in OpenLDAP 1.2
CVS Tag: OPENLDAP_REL_ENG_1_2
+ Fixed slapd/back-ldbm/cache entry lock assert bugs
Build environment
Fixed build/man.mk "ln -sf" bug
== 0 && cache->c_cursize > cache->c_maxsize ) {
e = cache->c_lrutail;
- /* XXX check for writer lock - should also check no readers pending */
+ /* check for active readers/writer lock */
#ifdef LDAP_DEBUG
assert(!ldap_pvt_thread_rdwr_active( &e->e_rdwr ));
#endif
Debug( LDAP_DEBUG_TRACE, "====> cache_delete_entry:\n", 0, 0, 0 );
+ /* set cache mutex */
+ ldap_pvt_thread_mutex_lock( &cache->c_mutex );
+
/* XXX check for writer lock - should also check no readers pending */
#ifdef LDAP_DEBUG
- assert(ldap_pvt_thread_rdwr_writers(&e->e_rdwr));
+ assert(ldap_pvt_thread_rdwr_writers( &e->e_rdwr ) == 1);
#endif
- /* set cache mutex */
- ldap_pvt_thread_mutex_lock( &cache->c_mutex );
-
rc = cache_delete_entry_internal( cache, e );
/* free cache mutex */