RTDECL(int) RTSemMutexRequestNoResume(RTSEMMUTEX hMutexSem, RTMSINTERVAL cMillies) { #ifndef RTSEMMUTEX_STRICT return rtSemMutexRequest(hMutexSem, cMillies, false, NULL); #else RTLOCKVALSRCPOS SrcPos = RTLOCKVALSRCPOS_INIT_NORMAL_API(); return rtSemMutexRequest(hMutexSem, cMillies, false, &SrcPos); #endif }
RTDECL(int) RTSemMutexRequestNoResume(RTSEMMUTEX hMutexSem, RTMSINTERVAL cMillies) { /* (EINTR isn't returned by the wait functions we're using.) */ #ifndef RTSEMMUTEX_STRICT return rtSemMutexRequest(hMutexSem, cMillies, NULL); #else RTLOCKVALSRCPOS SrcPos = RTLOCKVALSRCPOS_INIT_NORMAL_API(); return rtSemMutexRequest(hMutexSem, cMillies, &SrcPos); #endif }
RTDECL(int) RTSemMutexRequest(RTSEMMUTEX hMutexSem, RTMSINTERVAL cMillies) { #ifndef RTSEMMUTEX_STRICT int rc = rtSemMutexRequest(hMutexSem, cMillies, true, NULL); #else RTLOCKVALSRCPOS SrcPos = RTLOCKVALSRCPOS_INIT_NORMAL_API(); int rc = rtSemMutexRequest(hMutexSem, cMillies, true, &SrcPos); #endif Assert(rc != VERR_INTERRUPTED); return rc; }
RTDECL(int) RTSemMutexRequestDebug(RTSEMMUTEX hMutexSem, RTMSINTERVAL cMillies, RTHCUINTPTR uId, RT_SRC_POS_DECL) { RTLOCKVALSRCPOS SrcPos = RTLOCKVALSRCPOS_INIT_DEBUG_API(); int rc = rtSemMutexRequest(hMutexSem, cMillies, true, &SrcPos); Assert(rc != VERR_INTERRUPTED); return rc; }
RTDECL(int) RTSemMutexRequestNoResumeDebug(RTSEMMUTEX hMutexSem, RTMSINTERVAL cMillies, RTHCUINTPTR uId, RT_SRC_POS_DECL) { RTLOCKVALSRCPOS SrcPos = RTLOCKVALSRCPOS_INIT_DEBUG_API(); return rtSemMutexRequest(hMutexSem, cMillies, false, &SrcPos); }
RTDECL(int) RTSemMutexRequestNoResume(RTSEMMUTEX hMutexSem, RTMSINTERVAL cMillies) { return rtSemMutexRequest(hMutexSem, cMillies, TRUE /*fInterruptible*/); }