myserver-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[myserver-commit] [SCM] GNU MyServer branch, master, updated. v0.9.2-521


From: Giuseppe Scrivano
Subject: [myserver-commit] [SCM] GNU MyServer branch, master, updated. v0.9.2-521-gbb8745e
Date: Thu, 24 Nov 2011 15:43:42 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU MyServer".

The branch, master has been updated
       via  bb8745ec3e8ec161d47999ac52335cb1892288fe (commit)
       via  dfeec64c241a9e38d0d1efe4561691d80ef71fc8 (commit)
      from  913c5f142979047f9e4a4789772b9bfbac09a33d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------


commit bb8745ec3e8ec161d47999ac52335cb1892288fe
Author: Giuseppe Scrivano <address@hidden>
Date:   Thu Nov 24 16:39:40 2011 +0100

    server: get rid of internal variable mustEndServer.

diff --git a/myserver/include/server/server.h b/myserver/include/server/server.h
index 345ecf7..8c71955 100644
--- a/myserver/include/server/server.h
+++ b/myserver/include/server/server.h
@@ -87,7 +87,7 @@ public:
     return &processServerManager;
   }
   PluginsManager* getPluginsManager (){return &pluginsManager;}
-  bool stopServer (){return mustEndServer;}
+  bool stopServer (){return endServer;}
   HomeDir* getHomeDir ();
   static void createInstance ();
 
@@ -185,12 +185,6 @@ private:
   MainConfiguration* (*genMainConf) (Server *server, const char *arg);
   int loadVHostConf ();
 
-  /*!
-    When the flag mustEndServer is 1 all the threads are
-    stopped and the application stop its execution.
-  */
-  int mustEndServer;
-
   Mutex connectionsPoolLock;
   Slab<Connection> connectionsPool;
 
diff --git a/myserver/src/server/server.cpp b/myserver/src/server/server.cpp
index 716666f..37daaf4 100644
--- a/myserver/src/server/server.cpp
+++ b/myserver/src/server/server.cpp
@@ -1505,16 +1505,16 @@ int Server::reboot ()
 
   log (MYSERVER_LOG_MSG_INFO, _("Rebooting"));
 
-  if (mustEndServer)
+  if (endServer)
     return 0;
 
-  mustEndServer = true;
+  endServer = true;
 
   ret = terminate ();
   if (ret)
     return ret;
 
-  mustEndServer = false;
+  endServer = false;
 
   rebooting = false;
 



commit dfeec64c241a9e38d0d1efe4561691d80ef71fc8
Author: Giuseppe Scrivano <address@hidden>
Date:   Thu Nov 24 15:51:00 2011 +0100

    scheduler: use a libevent base.

diff --git a/myserver/include/connections_scheduler/connections_scheduler.h 
b/myserver/include/connections_scheduler/connections_scheduler.h
index 505e9a3..eebf419 100644
--- a/myserver/include/connections_scheduler/connections_scheduler.h
+++ b/myserver/include/connections_scheduler/connections_scheduler.h
@@ -80,6 +80,7 @@ public:
     ConnectionsScheduler* scheduler;
     SocketPair socketPair;
     Socket socketPairWrite;
+    struct event_base *base;
   };
 
   ConnectionsScheduler (Server* server = NULL);
diff --git a/myserver/src/connections_scheduler/connections_scheduler.cpp 
b/myserver/src/connections_scheduler/connections_scheduler.cpp
index 801cfec..1434cf0 100644
--- a/myserver/src/connections_scheduler/connections_scheduler.cpp
+++ b/myserver/src/connections_scheduler/connections_scheduler.cpp
@@ -47,7 +47,7 @@ static DEFINE_THREAD (dispatcher, p)
       da->mutex->lock ();
       try
         {
-          res = event_loop (EVLOOP_ONCE);
+          res = event_base_loop (da->base, EVLOOP_ONCE);
           da->mutex->unlock ();
         }
       catch (...)
@@ -137,7 +137,7 @@ static void eventLoopHandler (int fd, short event, void 
*arg)
               da->socketPair.read ((char*) &c, sizeof (ConnectionPtr), &nbr);
               da->socketPair.read ((char*) &tv, sizeof (timeval), &nbr);
 
-              event_once (
+              event_base_once (da->base,
 #ifdef WIN32
               FD_TO_SOCKET (handle),
 #else
@@ -206,7 +206,8 @@ static void listenerHandler (int fd, short event, void *arg)
         }
     }
 
-  event_add (&(s->ev), &tv);
+  if (! s->server->stopServer ())
+    event_add (&(s->ev), &tv);
 }
 
 /*!
@@ -219,7 +220,7 @@ void ConnectionsScheduler::listener 
(ConnectionsScheduler::ListenerArg *la)
 {
   ConnectionsScheduler::ListenerArg *arg = new 
ConnectionsScheduler::ListenerArg (la);
 
-    event_set (&(arg->ev),
+  event_assign (&(arg->ev), dispatcherArg.base,
 #ifdef WIN32
               FD_TO_SOCKET (la->serverSocket->getHandle ()),
 #else
@@ -350,6 +351,15 @@ void ConnectionsScheduler::initialize ()
   dispatcherArg.server = server;
   dispatcherArg.scheduler = this;
 
+  dispatcherArg.base = event_base_new ();
+  if (dispatcherArg.base == NULL)
+    {
+      if (server)
+        server->log (MYSERVER_LOG_MSG_ERROR,
+                     _("Error initializing the scheduler"));
+      return;
+    }
+
   dispatchedThreadId = 0;
 
   int err = dispatcherArg.socketPair.create ();
@@ -364,7 +374,7 @@ void ConnectionsScheduler::initialize ()
 
   dispatcherArg.socketPairWrite.setHandle 
(dispatcherArg.socketPair.getSecondHandle ());
 
-  event_set (&(dispatcherArg.loopEvent),
+  event_assign (&(dispatcherArg.loopEvent), dispatcherArg.base,
 #ifdef WIN32
              FD_TO_SOCKET (dispatcherArg.socketPair.getFirstHandle ()),
 #else
@@ -526,7 +536,7 @@ void ConnectionsScheduler::addWaitingConnectionImpl 
(ConnectionPtr c, int lock)
         }
     }
   else
-    event_once (
+    event_base_once (dispatcherArg.base,
 #ifdef WIN32
                 FD_TO_SOCKET (handle),
 #else
@@ -635,6 +645,8 @@ void ConnectionsScheduler::release ()
       eventsMutex.unlock ();
       throw;
     }
+
+  event_base_free (dispatcherArg.base);
 }
 
 /*!

-----------------------------------------------------------------------

Summary of changes:
 .../connections_scheduler/connections_scheduler.h  |    1 +
 myserver/include/server/server.h                   |    8 +-----
 .../connections_scheduler.cpp                      |   24 +++++++++++++++-----
 myserver/src/server/server.cpp                     |    6 ++--
 4 files changed, 23 insertions(+), 16 deletions(-)


hooks/post-receive
-- 
GNU MyServer



reply via email to

[Prev in Thread] Current Thread [Next in Thread]