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

Public 成员函数 | |
| LkIrqsGrd (Spinlock *spinlock) | |
| 构造自旋锁的RAII机制守卫 | |
| LkIrqsGrd (Spinlock &spinlock) | |
| 构造自旋锁的RAII机制守卫 | |
| ~LkIrqsGrd () | |
| 析构自旋锁的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 成员函数 | |
| LkIrqsGrd () | |
Protected 属性 | |
| Spinlock * | mSpinlock |
| enum LockStatus | mStatus |
| xwirq_t | mIrqs [sizeof...(TIrqList)] |
| xwreg_t | mIrqFlags [sizeof...(TIrqList)] |
部分中断上锁模式的自旋锁RAII机制守卫
TIrqList 列表内的中断,关闭当前CPU调度器的抢占, 上锁自旋锁。TIrqList 列表内的中断。 TIrqList 列表中的中断 在文件 Spinlock.hxx 第 784 行定义.
|
inline |
构造自旋锁的RAII机制守卫
| [in] | spinlock | 自旋锁对象指针 |
在文件 Spinlock.hxx 第 797 行定义.

|
inline |
构造自旋锁的RAII机制守卫
| [in] | spinlock | 自旋锁对象引用 |
在文件 Spinlock.hxx 第 813 行定义.

|
inline |
析构自旋锁的RAII机制守卫
在文件 Spinlock.hxx 第 828 行定义.

|
inlineprotected |
在文件 Spinlock.hxx 第 977 行定义.
|
inline |
解锁自旋锁
在文件 Spinlock.hxx 第 844 行定义.

|
inline |
|
inline |
等待条件量
| [in] | cond | 条件量对象的指针 |
| XWOK | 没有错误 |
| -EFAULT | 无效的指针或空指针 |
| -EINVAL | 参数无效 |
| -EINTR | 等待被中断 |
| -ENOTTHDCTX | 不在线程上下文中 |
sync::Cond::unicast() 或广播 sync::Cond::broadcast() 时,会唤醒正在等待的线程。XWOK 。-EINTR 。XWOK 的错误码后,应该 使用 getStatus() 确认是否上锁成功。 在文件 Spinlock.hxx 第 881 行定义.

|
inline |
|
inline |
限时等待条件量
| [in] | cond | 条件量对象的指针 |
| [in] | to | 期望唤醒的时间点 |
| XWOK | 没有错误 |
| -EFAULT | 无效的指针或空指针 |
| -EINVAL | 参数无效 |
| -ETIMEDOUT | 超时 |
| -EINTR | 等待被中断 |
| -ENOTTHDCTX | 不在线程上下文中 |
sync::Cond::unicast() 或广播 sync::Cond::broadcast() 时,会唤醒正在等待的线程。XWOK 。-EINTR 。-ETIMEDOUT 。XWOK 的错误码,应该 使用 getStatus() 确认是否上锁成功。 在文件 Spinlock.hxx 第 940 行定义.

|
inline |
限时等待条件量
| [in] | cond | 条件量对象的引用 |
| [in] | to | 期望唤醒的时间点 |
在文件 Spinlock.hxx 第 974 行定义.


|
protected |
在文件 Spinlock.hxx 第 787 行定义.
|
protected |
在文件 Spinlock.hxx 第 788 行定义.
|
protected |
在文件 Spinlock.hxx 第 789 行定义.
|
protected |
在文件 Spinlock.hxx 第 790 行定义.