VirtualBox

Changeset 19270 in vbox for trunk/src/VBox/Main/include


Ignore:
Timestamp:
Apr 29, 2009 8:40:33 PM (16 years ago)
Author:
vboxsync
Message:

#3354: SubMetric instances leak fixed. No more leaks in metric register/unregister.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Main/include/Performance.h

    r19069 r19270  
    169169        BaseMetric(CollectorHAL *hal, const char *name, ComPtr<IUnknown> object)
    170170            : mHAL(hal), mPeriod(0), mLength(0), mName(name), mObject(object), mLastSampleTaken(0), mEnabled(false) {};
     171        virtual ~BaseMetric() {};
    171172
    172173        virtual void init(ULONG period, ULONG length) = 0;
     
    205206        HostCpuLoad(CollectorHAL *hal, ComPtr<IUnknown> object, SubMetric *user, SubMetric *kernel, SubMetric *idle)
    206207        : BaseMetric(hal, "CPU/Load", object), mUser(user), mKernel(kernel), mIdle(idle) {};
     208        ~HostCpuLoad() { delete mUser; delete mKernel; delete mIdle; };
     209
    207210        void init(ULONG period, ULONG length);
    208211
     
    238241        HostCpuMhz(CollectorHAL *hal, ComPtr<IUnknown> object, SubMetric *mhz)
    239242        : BaseMetric(hal, "CPU/MHz", object), mMHz(mhz) {};
     243        ~HostCpuMhz() { delete mMHz; };
    240244
    241245        void init(ULONG period, ULONG length);
     
    255259        HostRamUsage(CollectorHAL *hal, ComPtr<IUnknown> object, SubMetric *total, SubMetric *used, SubMetric *available)
    256260        : BaseMetric(hal, "RAM/Usage", object), mTotal(total), mUsed(used), mAvailable(available) {};
     261        ~HostRamUsage() { delete mTotal; delete mUsed; delete mAvailable; };
    257262
    258263        void init(ULONG period, ULONG length);
     
    274279        MachineCpuLoad(CollectorHAL *hal, ComPtr<IUnknown> object, RTPROCESS process, SubMetric *user, SubMetric *kernel)
    275280        : BaseMetric(hal, "CPU/Load", object), mProcess(process), mUser(user), mKernel(kernel) {};
     281        ~MachineCpuLoad() { delete mUser; delete mKernel; };
    276282
    277283        void init(ULONG period, ULONG length);
     
    306312        MachineRamUsage(CollectorHAL *hal, ComPtr<IUnknown> object, RTPROCESS process, SubMetric *used)
    307313        : BaseMetric(hal, "RAM/Usage", object), mProcess(process), mUsed(used) {};
     314        ~MachineRamUsage() { delete mUsed; };
    308315
    309316        void init(ULONG period, ULONG length);
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