Changeset 37121 in vbox
- Timestamp:
- May 17, 2011 11:04:30 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Storage/VD.cpp
r37119 r37121 2621 2621 && ASMAtomicCmpXchgBool(&pIoCtxParent->fComplete, true, false)) 2622 2622 { 2623 RTCritSectLeave(&pDisk->CritSect); 2623 2624 LogFlowFunc(("Parent I/O context completed pIoCtxParent=%#p rcReq=%Rrc\n", pIoCtxParent, pIoCtxParent->rcReq)); 2624 2625 pIoCtxParent->Type.Root.pfnComplete(pIoCtxParent->Type.Root.pvUser1, … … 2627 2628 vdThreadFinishWrite(pDisk); 2628 2629 vdIoCtxFree(pDisk, pIoCtxParent); 2630 RTCritSectEnter(&pDisk->CritSect); 2629 2631 } 2630 2632 … … 2667 2669 && ASMAtomicCmpXchgBool(&pIoCtxWait->fComplete, true, false)) 2668 2670 { 2671 RTCritSectLeave(&pDisk->CritSect); 2669 2672 LogFlowFunc(("Waiting I/O context completed pIoCtxWait=%#p\n", pIoCtxWait)); 2670 2673 vdThreadFinishWrite(pDisk); … … 2673 2676 pIoCtxWait->rcReq); 2674 2677 vdIoCtxFree(pDisk, pIoCtxWait); 2678 RTCritSectEnter(&pDisk->CritSect); 2675 2679 } 2676 2680 } while (!RTListIsEmpty(&ListTmp)); … … 2695 2699 2696 2700 LogFlowFunc(("I/O context completed pIoCtx=%#p rcReq=%Rrc\n", pIoCtx, pIoCtx->rcReq)); 2701 RTCritSectLeave(&pDisk->CritSect); 2697 2702 pIoCtx->Type.Root.pfnComplete(pIoCtx->Type.Root.pvUser1, 2698 2703 pIoCtx->Type.Root.pvUser2, 2699 2704 pIoCtx->rcReq); 2705 RTCritSectEnter(&pDisk->CritSect); 2700 2706 } 2701 2707 … … 3495 3501 pIoCtx->pfnIoCtxTransfer = NULL; 3496 3502 3503 vdIoCtxContinue(pIoCtx, rcReq); 3504 3497 3505 rc = RTCritSectLeave(&pDisk->CritSect); 3498 3506 AssertRC(rc); 3499 3500 vdIoCtxContinue(pIoCtx, rcReq);3501 3507 } 3502 3508
Note:
See TracChangeset
for help on using the changeset viewer.