Skip to content
Snippets Groups Projects
Commit a3262ff2 authored by Howard Chu's avatar Howard Chu
Browse files

ITS#5332 someone else may free the entry as soon as we unlock it

parent f481ffef
No related branches found
No related tags found
No related merge requests found
......@@ -251,15 +251,17 @@ bdb_cache_return_entry_rw( struct bdb_info *bdb, Entry *e,
EntryInfo *ei;
int free = 0;
bdb_cache_entry_db_unlock( bdb, lock );
ei = e->e_private;
bdb_cache_entryinfo_lock( ei );
if ( ei->bei_state & CACHE_ENTRY_NOT_CACHED ) {
ei->bei_e = NULL;
ei->bei_state ^= CACHE_ENTRY_NOT_CACHED;
free = 1;
bdb_cache_entry_db_unlock( bdb, lock );
if ( ei ) {
bdb_cache_entryinfo_lock( ei );
if ( ei->bei_state & CACHE_ENTRY_NOT_CACHED ) {
ei->bei_e = NULL;
ei->bei_state ^= CACHE_ENTRY_NOT_CACHED;
free = 1;
}
bdb_cache_entryinfo_unlock( ei );
}
bdb_cache_entryinfo_unlock( ei );
if ( free ) {
e->e_private = NULL;
bdb_entry_return( e );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment