VirtualBox

Changeset 66663 in vbox for trunk


Ignore:
Timestamp:
Apr 24, 2017 6:42:10 PM (8 years ago)
Author:
vboxsync
Message:

Storage/tstVDIo: Cleanup leftovers when the test script forgets to free resources

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Storage/testcase/tstVDIo.cpp

    r66528 r66663  
    9999    char          *pszName;
    100100    /** HDD handle to operate on. */
    101     PVDISK       pVD;
     101    PVDISK         pVD;
    102102    /** Memory disk used for data verification. */
    103103    PVDMEMDISK     pMemDiskVerify;
     
    28102810                VDScriptCtxDestroy(hScriptCtx);
    28112811            }
     2812
     2813            /* Clean up all leftover resources. */
     2814            PVDPATTERN pPatternIt, pPatternItNext;
     2815            RTListForEachSafe(&GlobTest.ListPatterns, pPatternIt, pPatternItNext, VDPATTERN, ListNode)
     2816            {
     2817                RTPrintf("Cleanup: Leftover pattern \"%s\", deleting...\n", pPatternIt->pszName);
     2818                RTListNodeRemove(&pPatternIt->ListNode);
     2819                RTMemFree(pPatternIt->pvPattern);
     2820                RTStrFree(pPatternIt->pszName);
     2821                RTMemFree(pPatternIt);
     2822            }
     2823
     2824            PVDDISK pDiskIt, pDiskItNext;
     2825            RTListForEachSafe(&GlobTest.ListDisks, pDiskIt, pDiskItNext, VDDISK, ListNode)
     2826            {
     2827                RTPrintf("Cleanup: Leftover disk \"%s\", deleting...\n", pDiskIt->pszName);
     2828                RTListNodeRemove(&pDiskIt->ListNode);
     2829                VDDestroy(pDiskIt->pVD);
     2830                if (pDiskIt->pMemDiskVerify)
     2831                {
     2832                    VDMemDiskDestroy(pDiskIt->pMemDiskVerify);
     2833                    RTCritSectDelete(&pDiskIt->CritSectVerify);
     2834                }
     2835                RTStrFree(pDiskIt->pszName);
     2836                RTMemFree(pDiskIt);
     2837            }
     2838
     2839            PVDFILE pFileIt, pFileItNext;
     2840            RTListForEachSafe(&GlobTest.ListFiles, pFileIt, pFileItNext, VDFILE, Node)
     2841            {
     2842                RTPrintf("Cleanup: Leftover file \"%s\", deleting...\n", pFileIt->pszName);
     2843                RTListNodeRemove(&pFileIt->Node);
     2844                VDIoBackendStorageDestroy(pFileIt->pIoStorage);
     2845                RTStrFree(pFileIt->pszName);
     2846                RTMemFree(pFileIt);
     2847            }
     2848
    28122849            VDIoBackendDestroy(GlobTest.pIoBackend);
    28132850        }
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette