From 561ca26098991aeb156b18b0f7601e8efc3d8e92 Mon Sep 17 00:00:00 2001 From: nafets227 Date: Sat, 29 Nov 2014 23:07:38 +0100 Subject: [PATCH] Reduced locking scope for a performance improvement. Reduced the time that cSatipTunerStatistics() is locked. This is important for poller thread as every lock in cSatipTunerStatistics() leads to the poller thread waiting in SatipTuner::ProcessVideoData(). --- statistics.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/statistics.c b/statistics.c index 8e7564c..12f046f 100644 --- a/statistics.c +++ b/statistics.c @@ -150,14 +150,16 @@ cSatipTunerStatistics::~cSatipTunerStatistics() cString cSatipTunerStatistics::GetTunerStatistic() { //debug("cSatipTunerStatistics::%s()", __FUNCTION__); - cMutexLock MutexLock(&mutexM); + mutexM.Lock(); uint64_t elapsed = timerM.Elapsed(); /* in milliseconds */ timerM.Set(); long bitrate = elapsed ? (long)(1000.0L * dataBytesM / KILOBYTE(1) / elapsed) : 0L; + dataBytesM = 0; + mutexM.Unlock(); + if (!SatipConfig.GetUseBytes()) bitrate *= 8; cString s = cString::sprintf("%ld k%s/s", bitrate, SatipConfig.GetUseBytes() ? "B" : "bit"); - dataBytesM = 0; return s; }