Changeset 5354 in vbox for trunk/src/VBox/Runtime/r0drv/solaris
- Timestamp:
- Oct 17, 2007 1:38:33 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/r0drv/solaris/semevent-r0drv-solaris.c
r5333 r5354 153 153 else 154 154 { 155 ASMAtomicIncU32(&pEventInt->cWaiters); 156 155 157 /* 156 158 * Translate milliseconds into ticks and go to sleep. 157 159 */ 158 int cTicks;159 unsigned long timeout;160 160 if (cMillies != RT_INDEFINITE_WAIT) 161 cTicks = drv_usectohz((clock_t)(cMillies * 1000L)); 161 { 162 int cTicks = drv_usectohz((clock_t)(cMillies * 1000L)); 163 clock_t timeout = ddi_get_lbolt(); 164 timeout += cTicks; 165 if (fInterruptible) 166 rc = cv_timedwait_sig(&pEventInt->Cnd, &pEventInt->Mtx, timeout); 167 else 168 rc = cv_timedwait(&pEventInt->Cnd, &pEventInt->Mtx, timeout); 169 } 162 170 else 163 cTicks = 0;164 timeout += cTicks;165 166 ASMAtomicIncU32(&pEventInt->cWaiters);167 168 if (fInterruptible)169 rc = cv_timedwait_sig(&pEventInt->Cnd, &pEventInt->Mtx, timeout);170 else171 rc = cv_timedwait(&pEventInt->Cnd, &pEventInt->Mtx, timeout);171 { 172 if (fInterruptible) 173 rc = cv_wait_sig(&pEventInt->Cnd, &pEventInt->Mtx); 174 else 175 { 176 cv_wait(&pEventInt->Cnd, &pEventInt->Mtx); 177 rc = 1; 178 } 179 } 172 180 173 181 if (rc > 0)
Note:
See TracChangeset
for help on using the changeset viewer.