|
XWOS API
4.0
XWOS C/C++ API参考手册
|
CPU中断上锁模式下的自旋锁RAII机制守卫 更多...
#include <Spinlock.hxx>


Public 成员函数 | |
| LkThGrd (Spinlock *spinlock) | |
| 构造自旋锁的RAII机制守卫 | |
| LkThGrd (Spinlock &spinlock) | |
| 构造自旋锁的RAII机制守卫 | |
| ~LkThGrd () | |
| 析构自旋锁的RAII机制守卫 | |
| void | unlock () |
| 解锁自旋锁 | |
| enum LockStatus | getStatus () |
| 获取锁状态 | |
| xwer_t | wait (sync::Cond *cond) |
| 等待条件量 | |
| xwer_t | wait (sync::Cond &cond) |
| 等待条件量 | |
| xwer_t | wait (sync::Cond *cond, xwtm_t to) |
| 限时等待条件量 | |
| xwer_t | wait (sync::Cond &cond, xwtm_t to) |
| 限时等待条件量 | |
Protected 成员函数 | |
| LkThGrd () | |
Protected 属性 | |
| Spinlock * | mSpinlock |
| enum LockStatus | mStatus |
| xwreg_t | mCpuirq |
CPU中断上锁模式下的自旋锁RAII机制守卫
在文件 Spinlock.hxx 第 444 行定义.
| xwos::lock::Spinlock::LkThGrd::LkThGrd | ( | Spinlock * | spinlock | ) |
构造自旋锁的RAII机制守卫
| [in] | spinlock | 自旋锁对象指针 |
| xwos::lock::Spinlock::LkThGrd::LkThGrd | ( | Spinlock & | spinlock | ) |
构造自旋锁的RAII机制守卫
| [in] | spinlock | 自旋锁对象引用 |
| xwos::lock::Spinlock::LkThGrd::~LkThGrd | ( | ) |
析构自旋锁的RAII机制守卫
|
inlineprotected |
在文件 Spinlock.hxx 第 554 行定义.
| void xwos::lock::Spinlock::LkThGrd::unlock | ( | ) |
解锁自旋锁
|
inline |
| xwer_t xwos::lock::Spinlock::LkThGrd::wait | ( | sync::Cond * | cond | ) |
等待条件量
| [in] | cond | 条件量对象的指针 |
| XWOK | 没有错误 |
| -EFAULT | 无效的指针或空指针 |
| -EINVAL | 参数无效 |
| -EINTR | 等待被中断 |
| -ENOTTHDCTX | 不在线程上下文中 |
sync::Cond::unicast() 或广播 sync::Cond::broadcast() 时,会唤醒正在等待的线程。XWOK 。-EINTR 。XWOK 的错误码后,应该 使用 getStatus() 确认是否上锁成功。
|
inline |
| xwer_t xwos::lock::Spinlock::LkThGrd::wait | ( | sync::Cond * | cond, |
| xwtm_t | to | ||
| ) |
限时等待条件量
| [in] | cond | 条件量对象的指针 |
| [in] | to | 期望唤醒的时间点 |
| XWOK | 没有错误 |
| -EFAULT | 无效的指针或空指针 |
| -EINVAL | 参数无效 |
| -ETIMEDOUT | 超时 |
| -EINTR | 等待被中断 |
| -ENOTTHDCTX | 不在线程上下文中 |
sync::Cond::unicast() 或广播 sync::Cond::broadcast() 时,会唤醒正在等待的线程。XWOK 。-EINTR 。-ETIMEDOUT 。XWOK 的错误码,应该 使用 getStatus() 确认是否上锁成功。
|
inline |
限时等待条件量
| [in] | cond | 条件量对象的引用 |
| [in] | to | 期望唤醒的时间点 |
在文件 Spinlock.hxx 第 551 行定义.


|
protected |
在文件 Spinlock.hxx 第 447 行定义.
|
protected |
在文件 Spinlock.hxx 第 448 行定义.
|
protected |
保存当前CPU的中断标志
在文件 Spinlock.hxx 第 449 行定义.