Changeset 5212 in vbox for trunk/src/VBox/Runtime/r0drv
- Timestamp:
- Oct 9, 2007 6:43:56 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/r0drv/solaris/semevent-r0drv-solaris.c
r4287 r5212 134 134 } 135 135 136 RTDECL(int) RTSemEventWait(RTSEMEVENT EventSem, unsigned cMillies)136 static int rtSemEventWait(RTSEMEVENT EventSem, unsigned cMillies, bool fInterruptible) 137 137 { 138 138 int rc; … … 163 163 cTicks = 0; 164 164 timeout += cTicks; 165 165 166 166 ASMAtomicIncU32(&pEventInt->cWaiters); 167 167 168 /** @todo r=bird: Is this interruptible or non-interruptible? */ 169 rc = cv_timedwait_sig(&pEventInt->Cnd, &pEventInt->Mtx, timeout); 168 if (fInterruptible) 169 rc = cv_timedwait_sig(&pEventInt->Cnd, &pEventInt->Mtx, timeout); 170 else 171 rc = cv_timedwait(&pEventInt->Cnd, &pEventInt->Mtx, timeout); 172 170 173 if (rc > 0) 171 174 { … … 207 210 } 208 211 209 /** @todo Implement RTSemEventWaitNoResume (interruptible variant of the uninterruptible RTSemEventWait()). */ 210 212 213 RTDECL(int) RTSemEventWait(RTSEMEVENT EventSem, unsigned cMillies) 214 { 215 return rtSemEventWait(EventSem, cMillies, false /* not interruptible */); 216 } 217 218 219 RTDECL(int) RTSemEventWaitNoResume(RTSEMEVENT EventSem, unsigned cMillies) 220 { 221 return rtSemEventWait(EventSem, cMillies, true /* interruptible */); 222 }
Note:
See TracChangeset
for help on using the changeset viewer.