Index: src/libchcore/TSubTaskStatsInfo.cpp =================================================================== diff -u -N -r79399818d01f20d3a83766543e98ef5f0ee3de38 -r7d59ab9183c933f2fc2682a95fb5d26cf2f952d7 --- src/libchcore/TSubTaskStatsInfo.cpp (.../TSubTaskStatsInfo.cpp) (revision 79399818d01f20d3a83766543e98ef5f0ee3de38) +++ src/libchcore/TSubTaskStatsInfo.cpp (.../TSubTaskStatsInfo.cpp) (revision 7d59ab9183c933f2fc2682a95fb5d26cf2f952d7) @@ -32,21 +32,6 @@ BEGIN_CHCORE_NAMESPACE /////////////////////////////////////////////////////////////////////////////////// -// class TSubTaskProcessingGuard -TSubTaskProcessingGuard::TSubTaskProcessingGuard(TSubTaskStatsInfo& rStats) : - m_rStats(rStats) -{ - rStats.MarkAsRunning(); - rStats.EnableTimeTracking(); -} - -TSubTaskProcessingGuard::~TSubTaskProcessingGuard() -{ - m_rStats.DisableTimeTracking(); - m_rStats.MarkAsNotRunning(); -} - -/////////////////////////////////////////////////////////////////////////////////// // class TSubTaskStatsInfo TSubTaskStatsInfo::TSubTaskStatsInfo() : @@ -279,9 +264,12 @@ void TSubTaskStatsInfo::UpdateTime(boost::upgrade_lock& lock) const { boost::upgrade_to_unique_lock lock_upgraded(lock); - m_tTimer.Modify().Tick(); - m_tSizeSpeed.Modify().AddSample(0, m_tTimer.Get().GetLastTimestamp()); - m_tCountSpeed.Modify().AddSample(0, m_tTimer.Get().GetLastTimestamp()); + if (m_tTimer.Get().IsRunning()) + { + m_tTimer.Modify().Tick(); + m_tSizeSpeed.Modify().AddSample(0, m_tTimer.Get().GetLastTimestamp()); + m_tCountSpeed.Modify().AddSample(0, m_tTimer.Get().GetLastTimestamp()); + } } void TSubTaskStatsInfo::Store(ISerializerRowData& rRowData) const