Module: sems
Branch: master
Commit: 5b00fac84fcaeedc0a2c4f11d5c836b65c0b727e
URL:    
http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=5b00fac84fcaeedc0a2c4f11d5c836b65c0b727e

Author: Václav Kubart <[email protected]>
Committer: Václav Kubart <[email protected]>
Date:   Wed Apr 25 15:04:39 2012 +0200

b/f: transcoder - need to generate statistic reports from locked region

---

 core/AmB2BMedia.cpp |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/core/AmB2BMedia.cpp b/core/AmB2BMedia.cpp
index dc9bdc0..ebdc9cb 100644
--- a/core/AmB2BMedia.cpp
+++ b/core/AmB2BMedia.cpp
@@ -72,6 +72,7 @@ void B2BMediaStatistics::reportCodecWriteUsage(string &dst)
 
   bool first = true;
   dst.clear();
+  mutex.lock();
   for (map<string, int>::iterator i = codec_write_usage.begin();
       i != codec_write_usage.end(); ++i) 
   {
@@ -81,6 +82,7 @@ void B2BMediaStatistics::reportCodecWriteUsage(string &dst)
     dst += "=";
     dst += int2str(i->second);
   }
+  mutex.unlock();
 }
 
 void B2BMediaStatistics::reportCodecReadUsage(string &dst)
@@ -92,6 +94,7 @@ void B2BMediaStatistics::reportCodecReadUsage(string &dst)
 
   bool first = true;
   dst.clear();
+  mutex.lock();
   for (map<string, int>::iterator i = codec_read_usage.begin();
       i != codec_read_usage.end(); ++i) 
   {
@@ -101,11 +104,13 @@ void B2BMediaStatistics::reportCodecReadUsage(string &dst)
     dst += "=";
     dst += int2str(i->second);
   }
+  mutex.unlock();
 }
     
 void B2BMediaStatistics::getReport(const AmArg &args, AmArg &ret)
 {
   AmArg write_usage;
+  mutex.lock();
   for (map<string, int>::iterator i = codec_write_usage.begin();
       i != codec_write_usage.end(); ++i) 
   {
@@ -114,7 +119,6 @@ void B2BMediaStatistics::getReport(const AmArg &args, AmArg 
&ret)
     avp["count"] = i->second;
     write_usage.push(avp);
   }
-  ret["write"] = write_usage;
   
   AmArg read_usage;
   for (map<string, int>::iterator i = codec_read_usage.begin();
@@ -125,6 +129,9 @@ void B2BMediaStatistics::getReport(const AmArg &args, AmArg 
&ret)
     avp["count"] = i->second;
     read_usage.push(avp);
   }
+  mutex.unlock();
+
+  ret["write"] = write_usage;
   ret["read"] = read_usage;
 }
 

_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to