在尝试通过快速路径获取MDL锁时,如果MDL_lock::m_fast_path_state包含IS_DESTROYED标志,应该如何处理?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
如果MDL_lock::m_fast_path_state包含IS_DESTROYED标志,表示对象已被标记为销毁或在我们尝试锁定期间被销毁。此时,如果当前线程已经通过lf_hash_search_pin方法将该对象固定(pinned),则需要调用lf_hash_search_unpin(m_pins)来取消固定,并跳转到重试逻辑(通常是一个名为retry的标签)。