1 Star 0 Fork 17

xie_wen_hao/libdb

forked from src-openEuler/libdb 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
checkpoint-opd-deadlock.patch 623 Bytes
一键复制 编辑 原始数据 按行查看 历史
dogsheng 提交于 2019-11-19 14:17 . Package init
--- db-5.3.21/src/db/db_cam.c.opd_deadlock 2017-10-31 12:20:54.118979690 +0100
+++ db-5.3.21/src/db/db_cam.c 2017-10-31 12:21:06.828739341 +0100
@@ -868,6 +868,11 @@
flags == DB_PREV || flags == DB_PREV_DUP)) {
if (tmp_rmw && (ret = dbc->am_writelock(dbc)) != 0)
goto err;
+ /* Latch the primary tree page here in order to not deadlock later. */
+ if (cp->page == NULL &&
+ (ret = __memp_fget(mpf, &cp->pgno,
+ dbc->thread_info, dbc->txn, 0, &cp->page)) != 0)
+ goto err;
if (F_ISSET(dbc, DBC_TRANSIENT))
opd = cp->opd;
else if ((ret = __dbc_idup(cp->opd, &opd, DB_POSITION)) != 0)
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/xie-wen-hao/libdb.git
git@gitee.com:xie-wen-hao/libdb.git
xie-wen-hao
libdb
libdb
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385