* Compute the summed up wait counts and times for WaitObjectGroups.
* Delete the wait object array in the WaitObjectGroup destructor. It was leaked before. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30449 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
parent
e9b47e4853
commit
4ab2927d42
|
@ -15,13 +15,20 @@ ThreadModel::WaitObjectGroup::WaitObjectGroup(
|
|||
Model::ThreadWaitObject** waitObjects, int32 count)
|
||||
:
|
||||
fWaitObjects(waitObjects),
|
||||
fCount(count)
|
||||
fCount(count),
|
||||
fWaits(0),
|
||||
fTotalWaitTime(0)
|
||||
{
|
||||
for (int32 i = 0; i < fCount; i++) {
|
||||
fWaits += fWaitObjects[i]->Waits();
|
||||
fTotalWaitTime += fWaitObjects[i]->TotalWaitTime();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
ThreadModel::WaitObjectGroup::~WaitObjectGroup()
|
||||
{
|
||||
delete[] fWaitObjects;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -56,6 +56,9 @@ public:
|
|||
inline uint32 Type() const;
|
||||
inline const char* Name() const;
|
||||
|
||||
inline int64 Waits() const;
|
||||
inline bigtime_t TotalWaitTime() const;
|
||||
|
||||
inline int32 CountWaitObjects() const;
|
||||
inline Model::ThreadWaitObject* WaitObjectAt(int32 index) const;
|
||||
|
||||
|
@ -68,6 +71,8 @@ public:
|
|||
private:
|
||||
Model::ThreadWaitObject** fWaitObjects;
|
||||
int32 fCount;
|
||||
int64 fWaits;
|
||||
bigtime_t fTotalWaitTime;
|
||||
};
|
||||
|
||||
|
||||
|
@ -105,6 +110,20 @@ ThreadModel::WaitObjectGroup::Name() const
|
|||
}
|
||||
|
||||
|
||||
int64
|
||||
ThreadModel::WaitObjectGroup::Waits() const
|
||||
{
|
||||
return fWaits;
|
||||
}
|
||||
|
||||
|
||||
bigtime_t
|
||||
ThreadModel::WaitObjectGroup::TotalWaitTime() const
|
||||
{
|
||||
return fTotalWaitTime;
|
||||
}
|
||||
|
||||
|
||||
int32
|
||||
ThreadModel::WaitObjectGroup::CountWaitObjects() const
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue