提交 691a1fe5 编写于 作者: Q qianchanger 提交者: ob-robot

Fix interrupt status leak

上级 e8bb18cd
......@@ -73,9 +73,6 @@ void ObInterruptChecker::clear_status()
void ObInterruptChecker::clear_interrupt_status()
{
if (ref_count_ > 0) {
LIB_LOG_RET(ERROR, common::OB_ERR_UNEXPECTED, "invlid interrupt ref count");
}
interrupted_ = false;
}
......@@ -182,6 +179,9 @@ int ObGlobalInterruptManager::unregister_checker(ObInterruptChecker *checker,
int64_t rc = ATOMIC_AAF(&(checker_node->checker_->ref_count_), -1);
if (0 == rc) {
checker_node->checker_->clear_status();
} else {
// for nested interrupt, only clear interrupt status
checker_node->checker_->clear_interrupt_status();
}
ob_delete(checker_node);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册