- Timestamp:
- Apr 24, 2017 6:45:16 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Storage/VD.cpp
r66488 r66665 1452 1452 LogFlowFunc(("Waiting I/O context completed pTmp=%#p\n", pTmp)); 1453 1453 vdThreadFinishWrite(pDisk); 1454 1455 bool fFreeCtx = RT_BOOL(!(pTmp->fFlags & VDIOCTX_FLAGS_DONT_FREE)); 1454 1456 vdIoCtxRootComplete(pDisk, pTmp); 1455 vdIoCtxFree(pDisk, pTmp); 1457 1458 if (fFreeCtx) 1459 vdIoCtxFree(pDisk, pTmp); 1456 1460 } 1457 1461 } … … 1507 1511 LogFlowFunc(("Waiting I/O context completed pTmp=%#p\n", pTmp)); 1508 1512 vdThreadFinishWrite(pDisk); 1513 1514 bool fFreeCtx = RT_BOOL(!(pTmp->fFlags & VDIOCTX_FLAGS_DONT_FREE)); 1509 1515 vdIoCtxRootComplete(pDisk, pTmp); 1510 vdIoCtxFree(pDisk, pTmp); 1516 if (fFreeCtx) 1517 vdIoCtxFree(pDisk, pTmp); 1511 1518 } 1512 1519 } … … 3352 3359 { 3353 3360 LogFlowFunc(("I/O context completed pIoCtx=%#p\n", pIoCtx)); 3361 bool fFreeCtx = RT_BOOL(!(pIoCtx->fFlags & VDIOCTX_FLAGS_DONT_FREE)); 3354 3362 if (pIoCtx->pIoCtxParent) 3355 3363 { … … 3389 3397 { 3390 3398 LogFlowFunc(("Parent I/O context completed pIoCtxParent=%#p rcReq=%Rrc\n", pIoCtxParent, pIoCtxParent->rcReq)); 3399 bool fFreeParentCtx = RT_BOOL(!(pIoCtxParent->fFlags & VDIOCTX_FLAGS_DONT_FREE)); 3391 3400 vdIoCtxRootComplete(pDisk, pIoCtxParent); 3392 3401 vdThreadFinishWrite(pDisk); 3393 vdIoCtxFree(pDisk, pIoCtxParent); 3402 3403 if (fFreeParentCtx) 3404 vdIoCtxFree(pDisk, pIoCtxParent); 3394 3405 vdDiskProcessBlockedIoCtx(pDisk); 3395 3406 } … … 3420 3431 } 3421 3432 3422 vdIoCtxFree(pDisk, pIoCtx); 3433 if (fFreeCtx) 3434 vdIoCtxFree(pDisk, pIoCtx); 3423 3435 } 3424 3436 }
Note:
See TracChangeset
for help on using the changeset viewer.