[SVN-NetXMS] revision 3399

From: NetXMS.org SVN Server <svn_at_DOMAIN_REMOVED>
Date: Mon, 28 Jul 2008 16:46:49 +0300

* { font-family: Consolas, Lucida Console, Courier New; font-size: 100%; }
h1 { font-size: 150%; }
td.linenos { background-color: #f0f0f0; padding-right: 10px; }
span.lineno { background-color: #f0f0f0; padding: 0 5px 0 5px; }
pre { line-height: 100%; width: 100%; }
.highlight span { width: 100%; display:-moz-inline-stack; display:inline-block; zoom:1; *display:inline; }
body { background: #ffffff; }
body .c { color: #999988; font-style: italic } /* Comment */
body .err { color: #a61717; background-color: #e3d2d2 } /* Error */
body .k { font-weight: bold } /* Keyword */
body .o { font-weight: bold } /* Operator */
body .cm { color: #999988; font-style: italic } /* Comment.Multiline */
body .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
body .c1 { color: #999988; font-style: italic } /* Comment.Single */
body .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
body .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
body .ge { font-style: italic } /* Generic.Emph */
body .gr { color: #aa0000 } /* Generic.Error */
body .gh { color: #999999 } /* Generic.Heading */
body .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
body .go { color: #888888 } /* Generic.Output */
body .gp { color: #555555 } /* Generic.Prompt */
body .gs { font-weight: bold } /* Generic.Strong */
body .gu { color: #aaaaaa } /* Generic.Subheading */
body .gt { color: #aa0000 } /* Generic.Traceback */
body .kc { font-weight: bold } /* Keyword.Constant */
body .kd { font-weight: bold } /* Keyword.Declaration */
body .kp { font-weight: bold } /* Keyword.Pseudo */
body .kr { font-weight: bold } /* Keyword.Reserved */
body .kt { color: #445588; font-weight: bold } /* Keyword.Type */
body .m { color: #009999 } /* Literal.Number */
body .s { color: #bb8844 } /* Literal.String */
body .na { color: #008080 } /* Name.Attribute */
body .nb { color: #999999 } /* Name.Builtin */
body .nc { color: #445588; font-weight: bold } /* Name.Class */
body .no { color: #008080 } /* Name.Constant */
body .ni { color: #800080 } /* Name.Entity */
body .ne { color: #990000; font-weight: bold } /* Name.Exception */
body .nf { color: #990000; font-weight: bold } /* Name.Function */
body .nn { color: #555555 } /* Name.Namespace */
body .nt { color: #000080 } /* Name.Tag */
body .nv { color: #008080 } /* Name.Variable */
body .ow { font-weight: bold } /* Operator.Word */
body .w { color: #bbbbbb } /* Text.Whitespace */
body .mf { color: #009999 } /* Literal.Number.Float */
body .mh { color: #009999 } /* Literal.Number.Hex */
body .mi { color: #009999 } /* Literal.Number.Integer */
body .mo { color: #009999 } /* Literal.Number.Oct */
body .sb { color: #bb8844 } /* Literal.String.Backtick */
body .sc { color: #bb8844 } /* Literal.String.Char */
body .sd { color: #bb8844 } /* Literal.String.Doc */
body .s2 { color: #bb8844 } /* Literal.String.Double */
body .se { color: #bb8844 } /* Literal.String.Escape */
body .sh { color: #bb8844 } /* Literal.String.Heredoc */
body .si { color: #bb8844 } /* Literal.String.Interpol */
body .sx { color: #bb8844 } /* Literal.String.Other */
body .sr { color: #808000 } /* Literal.String.Regex */
body .s1 { color: #bb8844 } /* Literal.String.Single */
body .ss { color: #bb8844 } /* Literal.String.Symbol */
body .bp { color: #999999 } /* Name.Builtin.Pseudo */
body .vc { color: #008080 } /* Name.Variable.Class */
body .vg { color: #008080 } /* Name.Variable.Global */
body .vi { color: #008080 } /* Name.Variable.Instance */
body .il { color: #009999 } /* Literal.Number.Integer.Long */

Info

Revision:3399
Author:victor

Date:2008-07-28 16:46:48 +0300 (Mon, 28 Jul 2008)

Comment:additional debug added; changed socket closing sequence in agent connection

Changes
U trunk/src/server/core/node.cpp
U trunk/src/server/libnxsrv/agent.cpp

Diff
Modified: trunk/src/server/core/node.cpp
===================================================================
--- trunk/src/server/core/node.cpp 2008-07-27 18:03:56 UTC (rev 3398)
+++ trunk/src/server/core/node.cpp 2008-07-28 13:46:48 UTC (rev 3399)
@@ -694,6 +694,7 @@
    PollerLock();
    m_pPollRequestor = pSession;
    SendPollerMsg(dwRqId, &quot;Starting status poll for node %s\r\n&quot;, m_szName);
+ DbgPrintf(5, &quot;Starting status poll for node %s (ID: %d)&quot;, m_szName, m_dwId);
 
    // Read capability expiration time and current time
    tExpire = (time_t)ConfigReadULong(_T(&quot;CapabilityExpirationTime&quot;), 604800);
@@ -705,6 +706,7 @@
       TCHAR szBuffer[256];
       DWORD dwResult;
 
+ DbgPrintf(6, &quot;StatusPoll(%s): check SNMP&quot;, m_szName);
                 pTransport = CreateSNMPTransport();
       SetPollerInfo(nPoller, &quot;check SNMP&quot;);
       SendPollerMsg(dwRqId, &quot;Checking SNMP agent connectivity\r\n&quot;);
@@ -742,6 +744,7 @@
          }
       }
                 delete pTransport;
+ DbgPrintf(6, &quot;StatusPoll(%s): SNMP check finished&quot;, m_szName);
    }
 
    // Check native agent connectivity
@@ -749,6 +752,7 @@
    {
       AgentConnection *pAgentConn;
 
+ DbgPrintf(6, &quot;StatusPoll(%s): checking agent&quot;, m_szName);
       SetPollerInfo(nPoller, &quot;check agent&quot;);
       SendPollerMsg(dwRqId, &quot;Checking NetXMS agent connectivity\r\n&quot;);
       pAgentConn = new AgentConnection(htonl(m_dwIpAddr), m_wAgentPort,
@@ -756,6 +760,7 @@
       SetAgentProxy(pAgentConn);
       if (pAgentConn-&gt;Connect(g_pServerKey))
       {
+ DbgPrintf(7, &quot;StatusPoll(%s): connected to agent&quot;, m_szName);
          if (m_dwDynamicFlags &amp; NDF_AGENT_UNREACHABLE)
          {
             m_dwDynamicFlags &amp;= ~NDF_AGENT_UNREACHABLE;
@@ -763,9 +768,11 @@
             SendPollerMsg(dwRqId, POLLER_INFO &quot;Connectivity with NetXMS agent restored\r\n&quot;);
          }
          pAgentConn-&gt;Disconnect();
+ DbgPrintf(7, &quot;StatusPoll(%s): disconnected from agent&quot;, m_szName);
       }
       else
       {
+ DbgPrintf(7, &quot;StatusPoll(%s): agent unreachable&quot;, m_szName);
          SendPollerMsg(dwRqId, POLLER_ERROR &quot;NetXMS agent unreachable\r\n&quot;);
          if (m_dwDynamicFlags &amp; NDF_AGENT_UNREACHABLE)
          {
@@ -786,7 +793,9 @@
             m_tFailTimeAgent = tNow;
          }
       }
+ DbgPrintf(7, &quot;StatusPoll(%s): deleting agent connection&quot;, m_szName);
       delete pAgentConn;
+ DbgPrintf(7, &quot;StatusPoll(%s): agent connection deleted&quot;, m_szName);
    }
 
    SetPollerInfo(nPoller, &quot;prepare polling list&quot;);
@@ -924,6 +933,7 @@
    if (dwRqId == 0)
       m_dwDynamicFlags &amp;= ~NDF_QUEUED_FOR_STATUS_POLL;
    PollerUnlock();
+ DbgPrintf(5, &quot;Finished status poll for node %s (ID: %d)&quot;, m_szName, m_dwId);
 }
 
 

Modified: trunk/src/server/libnxsrv/agent.cpp
===================================================================
--- trunk/src/server/libnxsrv/agent.cpp 2008-07-27 18:03:56 UTC (rev 3398)
+++ trunk/src/server/libnxsrv/agent.cpp 2008-07-28 13:46:48 UTC (rev 3399)
@@ -150,6 +150,9 @@
    // Disconnect from peer
    Disconnect();
 
+ // Wait for receiver thread termination
+ ThreadJoin(m_hReceiverThread);
+
         // Close socket if active
         Lock();
    if (m_hSocket != -1)
@@ -159,9 +162,6 @@
         }
         Unlock();
 
- // Wait for receiver thread termination
- ThreadJoin(m_hReceiverThread);
-
    Lock();
    DestroyResultData();
    Unlock();
Received on Mon Jul 28 2008 - 16:46:49 EEST

This archive was generated by hypermail 2.2.0 : Mon Jul 28 2008 - 16:44:51 EEST