Call yaz_daemon_stop just after stop of socket bind
authorAdam Dickmeiss <adam@indexdata.dk>
Mon, 24 Sep 2012 13:39:18 +0000 (15:39 +0200)
committerAdam Dickmeiss <adam@indexdata.dk>
Mon, 24 Sep 2012 13:39:18 +0000 (15:39 +0200)
instead of after graceful stop loop has ended (which could
take a long time).

src/filter_frontend_net.cpp
src/metaproxy_prog.cpp

index d4867ad..4743c27 100644 (file)
@@ -32,6 +32,7 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
 #include <yazpp/limit-connect.h>
 #include <yaz/timing.h>
 #include <yaz/log.h>
+#include <yaz/daemon.h>
 #include "gduutil.hpp"
 
 #include <iostream>
@@ -597,6 +598,7 @@ void yf::FrontendNet::process(Package &package) const
                 size_t i;
                 for (i = 0; i < m_p->m_ports.size(); i++)
                     m_p->az[i]->server("");
+                yaz_daemon_stop();
             }
         }
         int no = m_p->mySocketManager.getNumberOfObservers();
index 5a50f44..b30fc0b 100644 (file)
@@ -79,7 +79,6 @@ static void work_common(void *data)
     mp::Package pack;
     pack.router(*routerp).move();
     yaz_log(YLOG_LOG, "metaproxy stop"); /* only for graceful stop */
-    yaz_daemon_stop();
     _exit(0);
 }