+ } else {
+ cache_entry_private_destroy( e );
+ if ( freeit ) {
+ entry_free( e );
+ }
+
+ /* free cache mutex */
+ ldap_pvt_thread_mutex_unlock( &cache->c_mutex );
+
+#ifdef NEW_LOGGING
+ LDAP_LOG( CACHE, DETAIL1,
+ "cache_return_entry_rw: (%ld): deleted (%d)\n", id, refcnt, 0 );
+#else
+ Debug( LDAP_DEBUG_TRACE,
+ "====> cache_return_entry_%s( %ld ): deleted (%d)\n",
+ rw ? "w" : "r", id, refcnt );
+#endif
+ }
+
+ } else {
+ /* free cache mutex */
+ ldap_pvt_thread_mutex_unlock( &cache->c_mutex );
+
+#ifdef NEW_LOGGING
+ LDAP_LOG( CACHE, DETAIL1,
+ "cache_return_entry_rw: ID %ld:%s returned (%d)\n",
+ id, rw ? "w": "r", refcnt );
+#else
+ Debug( LDAP_DEBUG_TRACE,
+ "====> cache_return_entry_%s( %ld ): returned (%d)\n",
+ rw ? "w" : "r", id, refcnt);
+#endif
+ }
+}