session_shared: shut down expire thread
[metaproxy-moved-to-github.git] / src / filter_frontend_net.cpp
index 0fef9e6..c744a66 100644 (file)
@@ -277,6 +277,12 @@ yf::FrontendNet::ZAssocChild::ZAssocChild(
     const char *peername = PDU_Observable->getpeername();
     if (!peername)
         peername = "unknown";
+    else
+    {
+        const char *cp = strchr(peername, ':');
+        if (cp)
+            peername = cp + 1;
+    }
     m_origin.set_tcpip_address(std::string(peername), m_session.id());
     timeout(m_p->m_session_timeout);
 }
@@ -594,9 +600,14 @@ void yf::FrontendNet::process(mp::Package &package) const
     while (m_p->mySocketManager.processEvent() > 0)
     {
         if (m_p->m_stop_signo == SIGTERM)
+        {
+            yaz_log(YLOG_LOG, "metaproxy received SIGTERM");
             break; /* stop right away */
+        }
+#ifndef WIN32
         if (m_p->m_stop_signo == SIGUSR1)
         {    /* just stop listeners and cont till all sessions are done*/
+            yaz_log(YLOG_LOG, "metaproxy received SIGUSR1");
             m_p->m_stop_signo = 0;
             if (m_p->az)
             {
@@ -606,6 +617,7 @@ void yf::FrontendNet::process(mp::Package &package) const
                 yaz_daemon_stop();
             }
         }
+#endif
         int no = m_p->mySocketManager.getNumberOfObservers();
         if (no <= 1)
             break;
@@ -715,7 +727,9 @@ void yf::FrontendNet::set_ports(std::vector<Port> &ports)
 
     // Create yf::FrontendNet::ZAssocServer for each port
     size_t i;
-    for (i = 0; i<m_p->m_ports.size(); i++)
+    for (i = 0; i < m_p->m_ports.size(); i++)
+        m_p->az[i] = 0;
+    for (i = 0; i < m_p->m_ports.size(); i++)
     {
         // create a PDU assoc object (one per yf::FrontendNet::ZAssocServer)
         yazpp_1::PDU_Assoc *as = new yazpp_1::PDU_Assoc(&m_p->mySocketManager);