23 if (
nullptr !=
mMtx) {
50 if (
nullptr != mMtx) {
60 if (
nullptr != mMtx) {
64 lock.
osal.
mtx = mMtx->mMtxDesc.mtx;
84 if (
nullptr != mMtx) {
87 lock.
osal.
mtx = mMtx->mMtxDesc.mtx;
xwer_t wait(sync::Cond *cond)
等待条件量
~Grd()
析构动态互斥锁的RAII机制守卫并解锁互斥锁
DMtx(xwpr_t pr=XWOS_SKD_PRIORITY_RT_MAX)
构造函数
@ DMtxLockUninterruptable
struct xwos_cond * getXwosObj()
#define EFAULT
Bad address
xws64_t xwtm_t
XWOS系统时间 (有符号)
static xwer_t xwos_mtx_lock_to(struct xwos_mtx *mtx, xwtm_t to)
XWOS API:限时等待上锁互斥锁
static xwer_t xwos_mtx_trylock(struct xwos_mtx *mtx)
XWOS API:尝试上锁互斥锁,不会阻塞调用线程
static xwer_t xwos_mtx_create(xwos_mtx_d *mtxd, xwpr_t sprio)
XWOS API:动态方式创建互斥锁
static xwer_t xwos_mtx_delete(xwos_mtx_d mtxd)
XWOS API:删除动态方式创建的互斥锁
static xwer_t xwos_mtx_unlock(struct xwos_mtx *mtx)
XWOS API:解锁互斥锁
static xwer_t xwos_mtx_lock(struct xwos_mtx *mtx)
XWOS API:等待并上锁互斥锁
static xwer_t xwos_mtx_lock_unintr(struct xwos_mtx *mtx)
XWOS API:等待并上锁互斥锁,且等待不可被中断
static xwer_t xwos_cond_wait_unintr(struct xwos_cond *cond, union xwos_ulock lock, xwsq_t lktype, void *lkdata, xwsq_t *lkst)
XWOS API:不可中断地等待条件量
static xwer_t xwos_cond_wait(struct xwos_cond *cond, union xwos_ulock lock, xwsq_t lktype, void *lkdata, xwsq_t *lkst)
XWOS API:等待条件量
static xwer_t xwos_cond_wait_to(struct xwos_cond *cond, union xwos_ulock lock, xwsq_t lktype, void *lkdata, xwtm_t to, xwsq_t *lkst)
XWOS API:限时等待条件量
union xwos_ulock::@8 osal