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

List:       helix-server-cvs
Subject:    [Server-cvs] log/tmplgpln tmplgpln.cpp, 1.24, 1.24.20.1 tmplgpln.h, 1.19, 1.19.36.1
From:       yijil () helixcommunity ! org
Date:       2013-03-25 10:42:09
[Download RAW message or body]

Update of /cvsroot/server/log/tmplgpln
In directory cvs01.internal.helixcommunity.org:/tmp/cvs-serv15609/server/log/tmplgpln

Modified Files:
      Tag: SERVER_VHOST_YIJI_2
	tmplgpln.cpp tmplgpln.h 
Log Message:
Committed to: SERVER_VHOST_YIJI_2

Reviewed by: Xiaocheng

Synopsis
========
Configure file and Error log(including updates for common part) for vhost support

Branches: SERVER_VHOST_YIJI_2

Reviewer: Anyone

Description
===========
I. Configuration
In current server design, when server starts, it will load rmserver.cfg file, and \
save it to our server registry. In registry, every item in rmserver.cfg will under \
root config, when any updates from admin page, it will cause items bellow config be \
write back it rmserver.cfg.

In the version for vhost, there exists one configure file for every account. We put \
every configure file data of different vhost (for example Account) under \
vhost.Account in registry.

Use a map to manage multiple vhost configure file, it will have interfaces to \
search/save XMLConfig object by account name.

II. Error log
In version supporting vhost, it needs to separate logs according to vhost account.

Add a new interface "IHXErrorMessage2" for saving vhost log. When other parts want to \
save vhost error log, they don`t need to change other parts, only need query \
interface IHXErrorMessage2 and call IHXErrorMessage2::ReportByVhost().

There CR also include delete or add vhost account.

III. Files Affected
==============
common/include/hxiids.h
common/include/hxerror.h
common/include/hxcfg.h
server/engine/core/proc_container.cpp
server/engine/core/server_context.cpp
server/engine/core/pub/error_sink_handler.h
server/engine/core/pub/proc_container.h
server/engine/context/errhand.cpp
server/engine/context/pub/errhand.h
server/engine/context/pub/error_sink_ctrl.h
server/engine/config/config.cpp
server/engine/config/xmlregconfig.cpp
server/engine/config/pub/xmlregconfig.h
server/log/tmplgpln/base_log.cpp
server/log/tmplgpln/base_log.h
server/log/tmplgpln/error_log.cpp
server/log/tmplgpln/error_log.h
server/log/tmplgpln/tmplgpln.cpp
server/log/tmplgpln/tmplgpln.h

Testing Performed
=================



Index: tmplgpln.h
===================================================================
RCS file: /cvsroot/server/log/tmplgpln/tmplgpln.h,v
retrieving revision 1.19
retrieving revision 1.19.36.1
diff -u -d -r1.19 -r1.19.36.1
--- tmplgpln.h	11 Feb 2011 19:31:56 -0000	1.19
+++ tmplgpln.h	25 Mar 2013 10:42:01 -0000	1.19.36.1
@@ -81,7 +81,8 @@
 #define REGKEY_PLUGINDEBUGLEVEL    "config.LoggingTemplates.DebugLevel"
 #define REGKEY_TEMPLATESERVERROOT  "server.LoggingTemplates"
 
-
+#define REGKEY_VHOST_ROOT          "vhost"
+#define REGKEY_CONFIGVHOST_ROOT    "config.Vhost"
 
 // Other registry values.
 
@@ -102,7 +103,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 //  FORWARD DECLARES
 ///////////////////////////////////////////////////////////////////////////////
-
 class CTBaseLog;
 class CRegWatcher;
 _INTERFACE IHXErrorMessages;
@@ -146,10 +146,12 @@
     
     UINT32 m_ulServerTemplateRootRegId;
     UINT32 m_ulConfigTemplateRootRegId;
+    UINT32 m_ulVhostConfigRootRegId;
 
     CallbackHandle m_CheckConfig; 
 
     HXList* m_pLogs;
+    HXList* m_pVhostLogs;
 
     IUnknown* m_pContext;
     IHXCommonClassFactory* m_pCCF;
@@ -181,9 +183,10 @@
     void Cleanup();
 
     HX_RESULT SetupLogs();
-    HX_RESULT CreateTemplate(UINT32 ulConfigRootRegId,
-                             char* szName,
-                             CTBaseLog** pLog);
+    HX_RESULT CreateTemplate(UINT32         ulConfigRootRegId,
+                             char*          szName,
+                             CTBaseLog**    pLog,
+                             const char*    pVhostAccount = NULL);
 
     TemplateType GetTemplateType(UINT32 ulConfigRootRegId,
                                  char* szName); 

Index: tmplgpln.cpp
===================================================================
RCS file: /cvsroot/server/log/tmplgpln/tmplgpln.cpp,v
retrieving revision 1.24
retrieving revision 1.24.20.1
diff -u -d -r1.24 -r1.24.20.1
--- tmplgpln.cpp	21 Dec 2011 03:31:51 -0000	1.24
+++ tmplgpln.cpp	25 Mar 2013 10:42:01 -0000	1.24.20.1
@@ -158,13 +158,15 @@
     , m_CheckConfig(0)
     , m_pRegWatcher(NULL)
     , m_pLogs(NULL)
+    , m_pVhostLogs(NULL)
     , m_pContext(NULL)
     , m_pErr(NULL)
     , m_pCCF(NULL)
     , m_pRegistry(NULL)
     , m_pScheduler(NULL)
     , m_pNetSvcs(NULL)
-    , m_bErrorLogSuspended(FALSE) 
+    , m_bErrorLogSuspended(FALSE)
+    , m_ulVhostConfigRootRegId(0)
 {
 }
 
@@ -182,11 +184,20 @@
         
     if (m_pLogs)
     {
-	while (!m_pLogs->empty())
-	{
-	    pTemp = (CTBaseLog*)m_pLogs->remove_head();
-	    HX_RELEASE(pTemp);
-	}
+        while (!m_pLogs->empty())
+        {
+            pTemp = (CTBaseLog*)m_pLogs->remove_head();
+            HX_RELEASE(pTemp);
+        }
+    }
+
+    if (m_pVhostLogs)
+    {
+        while (!m_pVhostLogs->empty())
+        {
+            pTemp = (CTBaseLog*)m_pVhostLogs->remove_head();
+            HX_RELEASE(pTemp);
+        }
     }
 
     Cleanup();
@@ -203,10 +214,11 @@
 {    
     if (m_pRegWatcher)
     {
-	m_pRegWatcher->Cleanup();
+        m_pRegWatcher->Cleanup();
     }
 
     HX_DELETE(m_pLogs);
+    HX_DELETE(m_pVhostLogs);
 
     HX_RELEASE(m_pContext); //XXXDPL do I need to release the context?
     HX_RELEASE(m_pCCF);
@@ -266,9 +278,10 @@
 ///////////////////////////////////////////////////////////////////////////////
 
 HX_RESULT
-CTemplatizedLogger::CreateTemplate(UINT32 ulConfigRootRegId,
-                                   char* szConfigRootRegName,
-                                   CTBaseLog** ppLog)
+CTemplatizedLogger::CreateTemplate(UINT32           ulConfigRootRegId,
+                                   char*            szConfigRootRegName,
+                                   CTBaseLog**      ppLog,
+                                   const char*      pVhostAccount)
 {   
 
     HX_RESULT hr = HXR_OK;
@@ -310,7 +323,14 @@
 
     case TEMPLATE_ERROR:
         TLDPRINTF(TL_INIT | TL_CONFIG, ("(%s)   Error log\n", szTemplateName));
-        *ppLog = new CTErrorLog();
+        if (pVhostAccount)
+        {
+            *ppLog = new CTErrorLog(pVhostAccount);
+        }
+        else
+        {
+            *ppLog = new CTErrorLog();
+        }
         break;
 
     case TEMPLATE_RTSPEVENTS:
@@ -466,23 +486,26 @@
     
     HX_RESULT hr;
     
-    const char* szValueName	= NULL;    
-    IHXValues* pTemplateList	= NULL;
-    CTBaseLog* pLog             = NULL;	
+    const char* szValueName = NULL;
+    IHXValues*  pList = NULL;
+    IHXValues* pTemplateList    = NULL;
+    CTBaseLog* pLog             = NULL;
+    IHXBuffer* pBuffer          = NULL;
 
     HX_ASSERT(m_pRegistry);
         
-// Grab the list of log templates. 
+    // Grab the list of log templates. 
     
     if (FAILED(m_pRegistry->GetPropListByName(REGKEY_TEMPLATECONFIGROOT, \
                pTemplateList)))
-    {	
-	return HXR_UNEXPECTED;	
-    }       
-    
+    {
+        return HXR_UNEXPECTED;
+    }
+
+    m_pRegWatcher->Manage(m_pRegistry->GetId(REGKEY_VHOST_ROOT));
     hr = pTemplateList->GetFirstPropertyULONG32(szValueName, ulId);
     
     while (SUCCEEDED(hr) && szValueName != NULL)
-    {	
+    {
         if (m_pRegistry->GetTypeById(ulId) == PT_COMPOSITE)
         {
             if (SUCCEEDED(CreateTemplate(ulId, (char*)szValueName, &pLog))
@@ -497,17 +520,87 @@
             }
             else
             {
-		ReportError(HXLOG_ERR, 
-		            HXR_UNEXPECTED,
-			    "[tmplgpln] template init: Could not init template.\n");
+                ReportError(HXLOG_ERR, HXR_UNEXPECTED,
+                "[tmplgpln] template init: Could not init template.\n");
                 HX_RELEASE(pLog);
             }
         }
-    	
-	hr = pTemplateList->GetNextPropertyULONG32(szValueName, ulId);	
+
+        hr = pTemplateList->GetNextPropertyULONG32(szValueName, ulId);	
     }
     
     HX_RELEASE(pTemplateList);
+
+    // Grab the list of log templates for vhost
+    CHXString sAccountName;
+    CHXString sIdentifyString;
+    HX_RESULT hcRes = HXR_OK;
+    UINT32  ulCID = 0;
+    if (FAILED(m_pRegistry->GetPropListByName(REGKEY_VHOST_ROOT, pList)))
+    {
+        return HXR_UNEXPECTED;
+    }
+
+    hr = pList->GetFirstPropertyULONG32(szValueName, ulId);
+    
+    while (SUCCEEDED(hr) && szValueName != NULL)
+    {
+        if (m_pRegistry->GetTypeById(ulId) == PT_COMPOSITE)
+        {
+            sAccountName = 1 + strrchr(szValueName, '.');
+
+            if (FAILED(m_pRegistry->GetStrByName((const \
char*)(REGKEY_CONFIGVHOST_ROOT"." + sAccountName + ".IdentifyString"), pBuffer)) || \
!pBuffer) +            {
+                continue;
+            }
+            
+            if (FAILED(m_pRegistry->GetPropListByName((const \
char*)(REGKEY_VHOST_ROOT"." + sAccountName + ".LoggingTemplates"), pTemplateList)) || \
!pTemplateList) +            {
+                continue;
+            }
+
+            hcRes = pTemplateList->GetFirstPropertyULONG32(szValueName, ulCID);
+    
+            while (SUCCEEDED(hcRes) && szValueName != NULL)
+            {
+                if (m_pRegistry->GetTypeById(ulCID) == PT_COMPOSITE)
+                {
+                    if (SUCCEEDED(CreateTemplate(ulCID, (char*)szValueName, &pLog, \
(const char*)pBuffer->GetBuffer())) && +                        \
SUCCEEDED(pLog->WatchSelf(m_pRegWatcher))) +                    {
+                        if (pBuffer->GetBuffer())
+                        {
+                            m_pVhostLogs->insert(pLog);
+                        }
+                        else
+                        {
+                            m_pLogs->insert(pLog);
+                        }
+
+                        if (pLog->IsEnabled())
+                        {
+                            pLog->StartLogging();
+                        }
+                    }
+                    else
+                    {
+                        ReportError(HXLOG_ERR, HXR_UNEXPECTED,
+                        "[tmplgpln] template init: Could not init template.\n");
+                        HX_RELEASE(pLog);
+                    }
+                }
+
+                hcRes = pTemplateList->GetNextPropertyULONG32(szValueName, ulCID);
+            }
+
+            HX_RELEASE(pBuffer);
+            HX_RELEASE(pTemplateList);
+        }
+
+        hr = pList->GetNextPropertyULONG32(szValueName, ulId);
+    }
+    
+    HX_RELEASE(pList);
     
     return HXR_OK;    
 }
@@ -576,6 +669,7 @@
     }
     
     m_pLogs = new HXList();
+    m_pVhostLogs = new HXList();
     m_pRegWatcher = new CRegWatcher(m_pRegistry);
     
     HX_ASSERT(m_pLogs);    
@@ -602,6 +696,8 @@
         hr = HXR_UNEXPECTED;
         goto cleanup;
     }
+
+    m_ulVhostConfigRootRegId = m_pRegistry->GetId(REGKEY_VHOST_ROOT);
     
     IfFailGo(hr = SetupLogs());
     IfFailGo(hr = m_pRegWatcher->Manage(m_ulConfigTemplateRootRegId));
@@ -770,7 +866,7 @@
 
 STDMETHODIMP 
 CTemplatizedLogger::AddedProp(const UINT32 id, 
-                              const HXPropType propType,    
+                              const HXPropType propType,
                               const UINT32 ulParentID)
 {
     CTBaseLog* pLogTemp   = NULL;
@@ -778,12 +874,13 @@
 
     IHXBuffer* pPropName  = NULL;
     IHXBuffer* pLogName   = NULL;
-
+    CHXString sPropName;
+        
     HX_ASSERT(m_pRegWatcher);
     HX_ASSERT(m_pScheduler);
 
-// For new logs, add a blank dummy template and set modified = TRUE to trigger
-// re-read from config.
+    // For new logs, add a blank dummy template and set modified = TRUE to trigger
+    // re-read from config.
 
     IfFailGo(m_pRegistry->GetPropName(id, pPropName));
 
@@ -791,57 +888,111 @@
               ("OTF add, prop: %s\n",
                (const char*)pPropName->GetBuffer()));
 
-    
-    if (ulParentID == m_ulConfigTemplateRootRegId
-    ||  ulParentID == m_ulServerTemplateRootRegId)
+    if (ulParentID == m_ulVhostConfigRootRegId)
     {
-	UCHAR* szLogName           = NULL;
+        UINT32 ulId = 0;
+        const char* szValueName = NULL;
 
-	m_pCCF->CreateInstance(IID_IHXBuffer, (void**)&pLogName);
-	
-	szLogName = (UCHAR*)(1 + strrchr((const char*)pPropName->GetBuffer(), '.'));
+        CHXString sAccountName = (const char*)(1 + strrchr((const \
char*)pPropName->GetBuffer(), '.')); +        CHXString sPropName = (const \
char*)pPropName->GetBuffer(); +        sPropName += ".LoggingTemplates";
 
-	IfFailGo(hr = pLogName->Set(szLogName, strlen((const char*)szLogName) + 1))
+        IHXValues* pTemplateList = NULL;
+        if (FAILED(m_pRegistry->GetPropListByName((const char*)sPropName, \
pTemplateList))) +        {
+            return HXR_FAIL;
+        }
 
-        TLDPRINTF((TL_OTF | TL_CONFIG),
-                  ("   * new template - (%s).\n", (const \
                char*)pLogName->GetBuffer()));
-      
-	pLogTemp = new CTNewOTFDummyLog();
+        HX_RESULT hcRes = pTemplateList->GetFirstPropertyULONG32(szValueName, ulId);
+    
+        while (SUCCEEDED(hcRes) && szValueName != NULL)
+        {
+            if (m_pRegistry->GetTypeById(ulId) == PT_COMPOSITE)
+            {
+                if (SUCCEEDED(CreateTemplate(ulId, (char*)szValueName, &pLogTemp, \
(const char*)sAccountName)) && +                    \
SUCCEEDED(pLogTemp->WatchSelf(m_pRegWatcher))) +                {
+                    if (!sAccountName.IsEmpty())
+                    {
+                        m_pVhostLogs->insert(pLogTemp);
+                    }
+                    else
+                    {
+                        m_pLogs->insert(pLogTemp);
+                    }
 
-	HX_ASSERT(pLogTemp);
+                    if (pLogTemp->IsEnabled())
+                    {
+                        pLogTemp->StartLogging();
+                    }
+                }
+                else
+                {
+                    ReportError(HXLOG_ERR, HXR_UNEXPECTED,
+                    "[tmplgpln] template init: Could not init template.\n");
+                    HX_RELEASE(pLogTemp);
+                }
+            }
 
-	pLogTemp->AddRef();
-	pLogTemp->FlagForRestart();
-	pLogTemp->SetLogRootRegId(id);
-	pLogTemp->SetName(pLogName);
+            hcRes = pTemplateList->GetNextPropertyULONG32(szValueName, ulId);
+        }
 
-	m_pLogs->insert(pLogTemp);
+        HX_RELEASE(pTemplateList);
+        HX_RELEASE(pPropName);
     }
     else
     {
-        pLogTemp = FindParentLog(id);
+        if (ulParentID == m_ulConfigTemplateRootRegId
+            ||  ulParentID == m_ulServerTemplateRootRegId)
+        {
+            UCHAR* szLogName           = NULL;
 
-	if (pLogTemp == NULL)
-	{
-        // Could be a property on a new log.
-	    goto cleanup;
-	}
+            m_pCCF->CreateInstance(IID_IHXBuffer, (void**)&pLogName);
 
-        pLogName = pLogTemp->GetName();
+            szLogName = (UCHAR*)(1 + strrchr((const char*)pPropName->GetBuffer(), \
'.'));  
-        TLDPRINTF((TL_OTF | TL_CONFIG),
-                  ("   * new entry on existing template - (%s).\n", 
-                   (const char*)pLogName->GetBuffer()));
+            IfFailGo(hr = pLogName->Set(szLogName, strlen((const char*)szLogName) + \
1))  
-	pLogTemp->FlagForRestart();
-    }
+            TLDPRINTF((TL_OTF | TL_CONFIG),
+                      ("   * new template - (%s).\n", (const \
char*)pLogName->GetBuffer())); +          
+            pLogTemp = new CTNewOTFDummyLog();
 
-    if (m_CheckConfig != 0)
-    {
-	m_pScheduler->Remove(m_CheckConfig);
-    }
+            HX_ASSERT(pLogTemp);
 
-    m_CheckConfig = m_pScheduler->RelativeEnter((IHXCallback*)this, \
CONFIGCHANGE_WAIT); +            pLogTemp->AddRef();
+            pLogTemp->FlagForRestart();
+            pLogTemp->SetLogRootRegId(id);
+            pLogTemp->SetName(pLogName);
+
+            m_pLogs->insert(pLogTemp);
+        }
+        else
+        {
+            pLogTemp = FindParentLog(id);
+
+            if (pLogTemp == NULL)
+            {
+                // Could be a property on a new log.
+                goto cleanup;
+            }
+
+            pLogName = pLogTemp->GetName();
+
+            TLDPRINTF((TL_OTF | TL_CONFIG),
+                      ("   * new entry on existing template - (%s).\n", 
+                       (const char*)pLogName->GetBuffer()));
+
+            pLogTemp->FlagForRestart();
+        }
+
+        if (m_CheckConfig != 0)
+        {
+            m_pScheduler->Remove(m_CheckConfig);
+        }
+
+        m_CheckConfig = m_pScheduler->RelativeEnter((IHXCallback*)this, \
CONFIGCHANGE_WAIT); +    }
 
 
 cleanup:
@@ -866,55 +1017,111 @@
                                 const UINT32 ulParentID)
 {
     CTBaseLog* pLogTemp   = NULL;
-    BOOL bDone            = FALSE;
-
-    HXList_iterator i(m_pLogs);
 
     HX_ASSERT(m_pRegWatcher);
     HX_ASSERT(m_pScheduler);
     HX_ASSERT(m_pRegistry);
     HX_ASSERT(m_pLogs);
 
-
-    if (ulParentID == m_ulConfigTemplateRootRegId
-    ||  ulParentID == m_ulServerTemplateRootRegId)
+    if (ulParentID == m_ulVhostConfigRootRegId)
     {
-	for (; *i != 0; ++i)
-	{
-	    pLogTemp = (CTBaseLog*)*i;
-
-                       
-	    if (id == pLogTemp->GetLogRootRegId())
-	    {
+        HXList_iterator i(m_pVhostLogs);
+        HXList_iterator j(m_pVhostLogs);
+        CTBaseLog* pRemove       = NULL;
+    
+        for (; *i != 0; ++i)
+        {
+            pLogTemp = (CTBaseLog*)*i;
+            
+            if (id == pLogTemp->GetGrandFatherRootRegId())
+            {
                 IHXBuffer* pLogName = pLogTemp->GetName();
                 TLDPRINTF((TL_OTF | TL_CONFIG), 
                           ("(%s) scheduled for delete!\n", 
                            (const char*)pLogName->GetBuffer()));
                 HX_RELEASE(pLogName);
-            	pLogTemp->SetDeleted(TRUE);
-		bDone = TRUE; 
-	    }
-	}
+                pLogTemp->SetDeleted(TRUE);
+            }
+        }
+
+        for (; *j != 0; ++j)
+        {
+
+            // Backtrack delete -- so we don't corrupt list iterator.
+            if (pRemove != NULL)
+            {
+                m_pVhostLogs->remove(pRemove);
+                HX_RELEASE(pRemove);
+            }
+
+            pLogTemp = (CTBaseLog*)*j;
+
+            if (pLogTemp->IsDeleted())
+            {
+                IHXBuffer* pLogName = pLogTemp->GetName();
+                TLDPRINTF((TL_OTF | TL_CONFIG),
+                          ("(%s) deleting\n", 
+                          pLogName ? (const char*)pLogName->GetBuffer() : "?"));
+                HX_RELEASE(pLogName);
+
+                pRemove = pLogTemp;
+                pLogTemp->StopLogging();
+                pLogTemp->Cleanup();
+
+                // If deleted, don't bother checking for anything else.
+                 continue;
+            }
+        }
+
+        // Straggler cleanup.
+        if (pRemove != NULL)
+        {
+            m_pVhostLogs->remove(pRemove);
+            HX_RELEASE(pRemove);
+            pRemove = NULL;
+        }
     }
     else
     {
-	pLogTemp = FindParentLog(id);
+        if (ulParentID == m_ulConfigTemplateRootRegId
+        ||  ulParentID == m_ulServerTemplateRootRegId)
+        {
+            HXList_iterator i(m_pLogs);
+            for (; *i != 0; ++i)
+            {
+                pLogTemp = (CTBaseLog*)*i;
 
-	if (pLogTemp == NULL)
-	{
-	    return HXR_UNEXPECTED;
-	}
+                if (id == pLogTemp->GetLogRootRegId())
+                {
+                    IHXBuffer* pLogName = pLogTemp->GetName();
+                    TLDPRINTF((TL_OTF | TL_CONFIG), 
+                              ("(%s) scheduled for delete!\n", 
+                               (const char*)pLogName->GetBuffer()));
+                    HX_RELEASE(pLogName);
+                    pLogTemp->SetDeleted(TRUE);
+                }
+            }
+        }
+        else
+        {
+            pLogTemp = FindParentLog(id);
 
-	pLogTemp->FlagForRestart();	
-    }
+            if (pLogTemp == NULL)
+            {
+                return HXR_UNEXPECTED;
+            }
 
-    if (m_CheckConfig != 0)
-    {
-	m_pScheduler->Remove(m_CheckConfig);
-    }
+            pLogTemp->FlagForRestart();
+        }
 
-    m_CheckConfig = m_pScheduler->RelativeEnter((IHXCallback*)this, \
CONFIGCHANGE_WAIT); +        if (m_CheckConfig != 0)
+        {
+            m_pScheduler->Remove(m_CheckConfig);
+        }
 
+        m_CheckConfig = m_pScheduler->RelativeEnter((IHXCallback*)this, \
CONFIGCHANGE_WAIT); +    }
+    
     return HXR_OK;
 }
 
@@ -939,7 +1146,7 @@
     HX_ASSERT(m_pScheduler);
     HX_ASSERT(m_pLogs);
 
-
+    CHXString sPropName;
     IHXBuffer* pPropName = NULL;
 
     IfFailGo(hr = m_pRegistry->GetPropName(id, pPropName));
@@ -948,27 +1155,29 @@
               ("OTF mod, prop: %s\n",
                (const char*)pPropName->GetBuffer()));
 
+    sPropName = (const char*)pPropName->GetBuffer();
+
     HX_RELEASE(pPropName);
 
     pLogTemp = FindParentLog(id);
 
     if (pLogTemp == NULL)
     {
-    // We're watching something that doesn't belong to us?
-	HX_ASSERT(0);
-	hr = HXR_UNEXPECTED;
+        // We're watching something that doesn't belong to us?
+        HX_ASSERT(0);
+        hr = HXR_UNEXPECTED;
         goto cleanup;
     }
 
     HX_ASSERT(pLogTemp);
 
-// This call just flags what's changed and schedules a necessary restart.
-// The check config cb (scheduled just below this) actually APPLIES the changes (or \
restarts.) +    // This call just flags what's changed and schedules a necessary \
restart. +    // The check config cb (scheduled just below this) actually APPLIES the \
changes (or restarts.)  pLogTemp->CheckForConfigChanges(id);
 
     if (m_CheckConfig != 0)
     {
-	m_pScheduler->Remove(m_CheckConfig);
+        m_pScheduler->Remove(m_CheckConfig);
     }
 
     m_CheckConfig = m_pScheduler->RelativeEnter((IHXCallback*)this, \
CONFIGCHANGE_WAIT); @@ -993,7 +1202,6 @@
 {
 
     HXList_iterator i(m_pLogs);
-    HXList_iterator j(m_pLogs);
 
     CTBaseLog* pLogTemp      = NULL;
     CTBaseLog* pRemove       = NULL;
@@ -1010,17 +1218,17 @@
     for (; *i != 0; ++i)
     {
 
-    // Backtrack delete -- so we don't corrupt list iterator.
-	if (pRemove != NULL)
-	{
-	    m_pLogs->remove(pRemove);
-	    HX_RELEASE(pRemove);
-	}
+        // Backtrack delete -- so we don't corrupt list iterator.
+        if (pRemove != NULL)
+        {
+            m_pLogs->remove(pRemove);
+            HX_RELEASE(pRemove);
+        }
 
-	pLogTemp = (CTBaseLog*)*i;
+        pLogTemp = (CTBaseLog*)*i;
 
-	if (pLogTemp->IsDeleted())
-	{
+        if (pLogTemp->IsDeleted())
+        {
             IHXBuffer* pLogName = pLogTemp->GetName();
             TLDPRINTF((TL_OTF | TL_CONFIG),
                       ("(%s) deleting\n", 
@@ -1028,15 +1236,14 @@
             HX_RELEASE(pLogName);
 
             pRemove = pLogTemp;
-	    pLogTemp->StopLogging();
-	    pLogTemp->Cleanup();
-
-	// If deleted, don't bother checking for anything else.
-	    continue;
-	}
+            pLogTemp->StopLogging();
+            pLogTemp->Cleanup();
 
-	else if (pLogTemp->IsRestartRequired())
-	{
+            // If deleted, don't bother checking for anything else.
+             continue;
+        }
+        else if (pLogTemp->IsRestartRequired())
+        {
             CTBaseLog* pNewLog  = NULL;
             IHXBuffer* pLogName = NULL;
             UINT32 ulConfigRoot = pLogTemp->GetLogRootRegId();
@@ -1054,7 +1261,7 @@
                       ("(%s) restarting logging services\n", 
                       pLogName ? (const char*)pLogName->GetBuffer() : "?"));
             
-            pRemove = pLogTemp;            
+            pRemove = pLogTemp;
 
             HX_ASSERT(ulConfigRoot != 0);
 
@@ -1064,7 +1271,7 @@
             &&  SUCCEEDED(pNewLog->WatchSelf(m_pRegWatcher)))
             {
                 pLogTemp->Cleanup();
-				
+
                 if (pNewLog->IsEnabled())
                 {
                     pNewLog->StartLogging();
@@ -1079,22 +1286,21 @@
 
             HX_RELEASE(pLogName);
 
-        // If template restart required, don't bother checking for anything else.
-	    continue;
-	}
-    else
-    {
-        pLogTemp->ApplyConfigChanges();
-    }
-
+            // If template restart required, don't bother checking for anything \
else. +            continue;
+        }
+        else
+        {
+            pLogTemp->ApplyConfigChanges();
+        }
     }
 
-// Straggler cleanup.
+    // Straggler cleanup.
     if (pRemove != NULL)
     {
-	m_pLogs->remove(pRemove);
-	HX_RELEASE(pRemove);
-	pRemove = NULL;
+        m_pLogs->remove(pRemove);
+        HX_RELEASE(pRemove);
+        pRemove = NULL;
     }
 
     m_CheckConfig = 0;


_______________________________________________
Server-cvs mailing list
Server-cvs@helixcommunity.org
http://lists.helixcommunity.org/mailman/listinfo/server-cvs


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

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