Changeset 5355 in vbox for trunk/src/VBox/Runtime
- Timestamp:
- Oct 17, 2007 1:41:31 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/r0drv/solaris/semeventmulti-r0drv-solaris.c
r5335 r5355 162 162 else 163 163 { 164 ASMAtomicIncU32(&pEventMultiInt->cWaiters); 165 164 166 /* 165 167 * Translate milliseconds into ticks and go to sleep. 166 168 */ 167 int cTicks;168 clock_t timeout;169 169 if (cMillies != RT_INDEFINITE_WAIT) 170 cTicks = drv_usectohz((clock_t)(cMillies * 1000L)); 170 { 171 int cTicks = drv_usectohz((clock_t)(cMillies * 1000L)); 172 clock_t timeout = ddi_get_lbolt(); 173 timeout += cTicks; 174 if (fInterruptible) 175 rc = cv_timedwait_sig(&pEventMultiInt->Cnd, &pEventMultiInt->Mtx, timeout); 176 else 177 rc = cv_timedwait(&pEventMultiInt->Cnd, &pEventMultiInt->Mtx, timeout); 178 } 171 179 else 172 cTicks = 0; 173 174 timeout = ddi_get_lbolt(); 175 timeout += cTicks; 176 177 ASMAtomicIncU32(&pThis->cWaiters); 178 179 if (fInterruptible) 180 rc = cv_timedwait_sig(&pThis->Cnd, &pThis->Mtx, timeout); 181 else 182 rc = cv_timedwait(&pThis->Cnd, &pThis->Mtx, timeout); 180 { 181 if (fInterruptible) 182 rc = cv_wait_sig(&pEventMultiInt->Cnd, &pEventMultiInt->Mtx); 183 else 184 { 185 cv_wait(&pEventMultiInt->Cnd, &pEventMultiInt->Mtx); 186 rc = 1; 187 } 188 } 183 189 if (rc > 0) 184 190 {
Note:
See TracChangeset
for help on using the changeset viewer.