Changeset 14012 in vbox for trunk/src/VBox/Runtime/common/misc/req.cpp
- Timestamp:
- Nov 10, 2008 1:46:18 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/common/misc/req.cpp
r13837 r14012 659 659 * Insert it. 660 660 */ 661 PRTREQQUEUE pQueue = ((RTREQ volatile *)pReq)->pQueue; /* volatile paranoia */ 662 unsigned fFlags = ((RTREQ volatile *)pReq)->fFlags; /* volatile paranoia */ 661 663 pReq->enmState = RTREQSTATE_QUEUED; 662 664 PRTREQ pNext; 663 665 do 664 666 { 665 pNext = p Req->pQueue->pReqs;667 pNext = pQueue->pReqs; 666 668 pReq->pNext = pNext; 667 } while (!ASMAtomicCmpXchgPtr((void * volatile *)&p Req->pQueue->pReqs, (void *)pReq, (void *)pNext));669 } while (!ASMAtomicCmpXchgPtr((void * volatile *)&pQueue->pReqs, (void *)pReq, (void *)pNext)); 668 670 669 671 /* 670 672 * Notify queue thread. 671 673 */ 672 RTSemEventSignal(p Req->pQueue->EventSem);674 RTSemEventSignal(pQueue->EventSem); 673 675 674 676 /* 675 677 * Wait and return. 676 678 */ 677 if (!( pReq->fFlags & RTREQFLAGS_NO_WAIT))679 if (!(fFlags & RTREQFLAGS_NO_WAIT)) 678 680 rc = RTReqWait(pReq, cMillies); 679 681 LogFlow(("RTReqQueue: returns %Rrc\n", rc));
Note:
See TracChangeset
for help on using the changeset viewer.