📄 inode_double_lock.h
字号:
#ifndef KAPI_INODE_DOUBLE_LOCK_H#define KAPI_INODE_DOUBLE_LOCK_H#ifdef NO_INODE_DOUBLE_LOCKstatic inline void inode_double_lock(struct inode *inode1, struct inode *inode2){ if (inode1 == NULL || inode2 == NULL || inode1 == inode2) { if (inode1) mutex_lock(&inode1->i_mutex); else if (inode2) mutex_lock(&inode2->i_mutex); return; } if (inode1 < inode2) { mutex_lock_nested(&inode1->i_mutex, I_MUTEX_PARENT); mutex_lock_nested(&inode2->i_mutex, I_MUTEX_CHILD); } else { mutex_lock_nested(&inode2->i_mutex, I_MUTEX_PARENT); mutex_lock_nested(&inode1->i_mutex, I_MUTEX_CHILD); }}static inline void inode_double_unlock(struct inode *inode1, struct inode *inode2){ if (inode1) mutex_unlock(&inode1->i_mutex); if (inode2 && inode2 != inode1) mutex_unlock(&inode2->i_mutex);}#endif#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -