/* XXX check for writer lock - should also check no readers pending */
#ifdef LDAP_DEBUG
- assert(pthread_rdwr_wchk_np(&e->e_rdwr));
+ assert(!pthread_rdwr_rwchk_np(&e->e_rdwr));
#endif
/* delete from cache and lru q */
Entry *e
)
{
+ int rc = 0; /* return code */
+
/* dn tree */
if ( avl_delete( &cache->c_dntree, (caddr_t) e, cache_entrydn_cmp )
== NULL )
{
- return( -1 );
+ rc = -1;
}
/* id tree */
if ( avl_delete( &cache->c_idtree, (caddr_t) e, cache_entryid_cmp )
== NULL )
{
- return( -1 );
+ rc = -1;
+ }
+
+ if (rc != 0) {
+ return rc;
}
/* lru */