[prev in list] [next in list] [prev in thread] [next in thread] 

List:       helix-common-cvs
Subject:    [Common-cvs]
From:       amsaleem () helixcommunity ! org
Date:       2010-03-31 22:50:37
Message-ID: 201003312250.o2VMoojJ004821 () mailer ! progressive-comp ! com
[Download RAW message or body]

Update of /cvsroot/common/log/logutil/platform/symbian
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv8947/platform/symbian

Modified Files:
	hxsymlogsystemmanager.cpp 
Log Message:
"Nokia submits this code under the terms of a commercial contribution agreement with \
Real Networks, and I am authorized to contribute this code under said agreement."

Modified by: saleem.adookkattil@nokia.com

Reviewed by:

Date: 03/16/2010

Project: symbian_client_apps

ErrorId: JLIU_83KSM1

Synopsis: Fixed condition to enable logging and log manager instance release.

Overview:

Made the following changes.

1) Existing code on failure to read value of 'Logging\\File\\Enabled' from \
configuration enables logging.   Fixed this one by setting not to enable logging on \
failure to read the value.  
2) Releasing instance of m_pLogSystemManager inside CHXMediaPlatform before releasing \
plugins those hold reference to logsystem cause crash on sybian platform.  Made fix \
to release m_pLogSystemManager instance after releasing all loaded plugins.  
3) Symbian TLC context call close on log manager even if the context instance not \
intialized the logging.This causes multiple close method call on log manager.  \
Corrected this problem by introducing a member variable m_bTerminateLogging and check \
whether instance received call to initialize logging. In addition made  changes to \
call log system manager interface methods instead of directly calling symbian log \
manger method close.   Also made some code cleanup inside symbian tlc cotext.
   
Files modified: 

cvsroot\client\medpltfm\chxmedpltfm.cpp
cvsroot\common\log\logutil\platform\symbian\hxsymlogsystemmanager.cpp
cvsroot\common\log\logutil\pub\platform\symbian\hxsymlogsystemmanager.h
cvsroot\common\system\platform\symbian\symbian_tlc_context.cpp
cvsroot\common\system\pub\platform\symbian\symbian_tlc_context.h

Files added:

Image Size and Heap Use impact: None.

Module Release testing (STIF) : Yes

Test case(s) Added  : No

Memory leak check performed : Yes

Platforms and Profiles Build Verified: helix-client-symbian-4

Platforms and Profiles Functionality verified: armv5, winscw

Branch: 4_2_0_brizo, HEAD







Index: hxsymlogsystemmanager.cpp
===================================================================
RCS file: /cvsroot/common/log/logutil/platform/symbian/hxsymlogsystemmanager.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- hxsymlogsystemmanager.cpp	25 Jun 2009 14:05:17 -0000	1.2
+++ hxsymlogsystemmanager.cpp	31 Mar 2010 22:50:35 -0000	1.3
@@ -71,6 +71,7 @@
 STDMETHODIMP CHXSymLogSystemManager::InitializeLogSystem(IUnknown* pContext)
 {
     HX_RESULT rv = HXR_OK;
+    m_sLogSystemInitCount++;
 #if !defined(HELIX_FEATURE_LOGLEVEL_NONE) && defined(HELIX_FEATURE_CORE_LOG)
     if (!m_pLogSystem)
     {
@@ -119,6 +120,11 @@
 //
 STDMETHODIMP CHXSymLogSystemManager::TerminateLogSystem()
 {
+    m_sLogSystemInitCount--;
+    if (m_sLogSystemInitCount == 0)
+    {
+        Close();
+    }
     return HXR_OK;
 }
 
@@ -176,6 +182,7 @@
 ,m_pLogSysDllAccess(NULL)
 ,m_pLogObsDllAccess(NULL)
 ,m_pFileObserver(NULL)
+,m_sLogSystemInitCount(0)
 {
 }
 
@@ -184,7 +191,7 @@
 //
 CHXSymLogSystemManager::~CHXSymLogSystemManager()
 {
-    Close();
+    HX_ASSERT(!m_sLogSystemInitCount);
 
     if(m_pLogSysDllAccess)
     {
@@ -203,8 +210,6 @@
 //
 void CHXSymLogSystemManager::Close()
 {
-    HX_DISABLE_LOGGING();
-
     // First we need to Shutdown the observers
     if (m_pFileObserver)
     {


_______________________________________________
Common-cvs mailing list
Common-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/common-cvs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic