Closed taokingithub closed 6 months ago
虽然#295的实现可以解决首次调用fdb_kvdb_init死锁的问题,但先unlock再lock没有必要,原因如下:因为fdb_kvdb_init中加锁,其调用的_fdb_kv_load中的fdb_kv_set_default中又加锁,如果不用嵌套互斥锁会发生死锁,而fdb_kv_set_default函数只在_fdb_kv_load中调用,因此将其加减锁代码删除即可
fdb_kv_set_default 在项目中也会用到的,这个是一个外部接口
虽然#295的实现可以解决首次调用fdb_kvdb_init死锁的问题,但先unlock再lock没有必要,原因如下:因为fdb_kvdb_init中加锁,其调用的_fdb_kv_load中的fdb_kv_set_default中又加锁,如果不用嵌套互斥锁会发生死锁,而fdb_kv_set_default函数只在_fdb_kv_load中调用,因此将其加减锁代码删除即可