summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAliaksey Kandratsenka <alk@tut.by>2011-07-17 21:27:09 +0300
committerTrond Norbye <trond.norbye@gmail.com>2011-07-17 23:00:38 +0200
commitc8f5e90ff432d2f3b4db1991c403b8fa9824d284 (patch)
tree2852fcae8753fbf8ef2928f100540960e992a287
parent2363dc27f28d53ba06e7c262c8cf30a5f83b4f9d (diff)
downloadmemcached-c8f5e90ff432d2f3b4db1991c403b8fa9824d284.tar.gz
handle very early memcached shutdown
If memcached shutdown is requested too early this will lead to clock_handler not being set up. So actual shutdown will only happen when some socket event happens which will cause event_hander to be called which will exit event loop.
-rw-r--r--daemon/memcached.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/daemon/memcached.c b/daemon/memcached.c
index d1df8c3..07ea5bd 100644
--- a/daemon/memcached.c
+++ b/daemon/memcached.c
@@ -7525,8 +7525,10 @@ int main (int argc, char **argv) {
/* Drop privileges no longer needed */
drop_privileges();
- /* enter the event loop */
- event_base_loop(main_base, 0);
+ if (!memcached_shutdown) {
+ /* enter the event loop */
+ event_base_loop(main_base, 0);
+ }
if (settings.verbose) {
settings.extensions.logger->log(EXTENSION_LOG_INFO, NULL,