[Top][All Lists]
[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [myserver-commit] [SCM] GNU MyServer branch, master, updated. v0.9.2-521-gbb8745e,
Giuseppe Scrivano <=