kernel/eka/kernel/sbtrace.cpp
changeset 31 56f325a607ea
parent 0 a41df078684a
child 90 947f0dc9f7a8
child 256 c1f20ce4abcf
--- a/kernel/eka/kernel/sbtrace.cpp	Mon Dec 21 16:14:42 2009 +0000
+++ b/kernel/eka/kernel/sbtrace.cpp	Wed Dec 23 11:43:31 2009 +0000
@@ -288,6 +288,49 @@
 		TraceContainerContents(K::Containers[ECondVar], BTrace::ESymbianKernelSync, BTrace::ECondVarCreate);
 		}
 #endif
+
+#ifdef BTRACE_CLIENT_SERVER
+	if(aCategory==BTrace::EClientServer || aCategory==-1)
+		{
+		DObjectCon* servers=Kern::Containers()[EServer];
+		if(servers)
+			{
+			NKern::ThreadEnterCS();
+			servers->Wait();
+			TInt num = servers->Count();
+			for(TInt i=0; i<num; i++)
+				{
+				DServer* server = (DServer*)(*servers)[i];
+				if (server->Open() == KErrNone)
+					{
+					server->BTracePrime(aCategory);
+					server->AsyncClose();
+					}
+				}
+			servers->Signal();
+			NKern::ThreadLeaveCS();
+			}
+
+		DObjectCon* sessions=Kern::Containers()[ESession];
+		if(sessions)
+			{
+			NKern::ThreadEnterCS();
+			sessions->Wait();
+			TInt num = sessions->Count();
+			for(TInt i=0; i<num; i++)
+				{
+				DSession* session = (DSession*)(*sessions)[i];
+				if (session->Open() == KErrNone)
+					{
+					session->BTracePrime(aCategory);
+					session->AsyncClose();
+					}
+				}
+			sessions->Signal();
+			NKern::ThreadLeaveCS();
+			}
+		}
+#endif
 	}
 
 TBool BTrace::IsSupported(TUint aCategory)