File tree Expand file tree Collapse file tree 1 file changed +7
-1
lines changed Expand file tree Collapse file tree 1 file changed +7
-1
lines changed Original file line number Diff line number Diff line change @@ -287,14 +287,17 @@ void _fdb_kvs_header_create(KvsHeader **kv_header_ptr)
287287
288288void fdb_kvs_header_create (FileMgr *file)
289289{
290+ file->acquireSpinLock ();
290291 KvsHeader *kv_header = file->getKVHeader_UNLOCKED ();
291292 if (kv_header) {
292- return ; // already exist
293+ file->releaseSpinLock ();
294+ return ; // already exists
293295 }
294296
295297 _fdb_kvs_header_create (&kv_header);
296298 file->setKVHeader_UNLOCKED (kv_header);
297299 file->setFreeKVHeaderCB (fdb_kvs_header_free);
300+ file->releaseSpinLock ();
298301}
299302
300303void fdb_kvs_header_reset_all_stats (FileMgr *file)
@@ -956,12 +959,15 @@ void _fdb_kvs_header_free(KvsHeader *kv_header)
956959
957960void fdb_kvs_header_free (FileMgr *file)
958961{
962+ file->acquireSpinLock ();
959963 if (file->getKVHeader_UNLOCKED () == NULL ) {
964+ file->releaseSpinLock ();
960965 return ;
961966 }
962967
963968 _fdb_kvs_header_free (file->getKVHeader_UNLOCKED ());
964969 file->setKVHeader_UNLOCKED (NULL );
970+ file->releaseSpinLock ();
965971}
966972
967973// this function just returns pointer
You can’t perform that action at this time.
0 commit comments