-
Notifications
You must be signed in to change notification settings - Fork 522
Open
Description
设了锁后,fdb_kvdb_init里调了一次db_lock:
Lines 1757 to 1758 in c1226f3
| /* lock the KVDB */ | |
| db_lock(db); |
再在 _fdb_kv_load里检查到失败计数check_failed_count 和SECTOR_NUM相等时,调用fdb_kv_set_default:
Lines 1643 to 1646 in c1226f3
| if (check_failed_count == SECTOR_NUM) { | |
| FDB_INFO("All sector header is incorrect. Set it to default.\n"); | |
| fdb_kv_set_default(db); | |
| } |
fdb_kv_set_default里又调一次db_lock:
Lines 1392 to 1399 in c1226f3
| fdb_err_t fdb_kv_set_default(fdb_kvdb_t db) | |
| { | |
| fdb_err_t result = FDB_NO_ERR; | |
| uint32_t addr, i, value_len; | |
| struct kvdb_sec_info sector; | |
| /* lock the KV cache */ | |
| db_lock(db); |
用递归锁可以规避,但是文档中没有见到相关描述
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels