[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[myserver-commit] [2919] Fixed a problem with reboots.
From: |
Francesco Pipita |
Subject: |
[myserver-commit] [2919] Fixed a problem with reboots. |
Date: |
Tue, 28 Oct 2008 00:03:09 +0000 |
Revision: 2919
http://svn.sv.gnu.org/viewvc/?view=rev&root=myserver&revision=2919
Author: francesco_pipita
Date: 2008-10-28 00:03:08 +0000 (Tue, 28 Oct 2008)
Log Message:
-----------
Fixed a problem with reboots.
Modified Paths:
--------------
trunk/myserver/src/log/log_manager.cpp
trunk/myserver/src/server/server.cpp
trunk/myserver/tests/test_log_manager.cpp
Modified: trunk/myserver/src/log/log_manager.cpp
===================================================================
--- trunk/myserver/src/log/log_manager.cpp 2008-10-27 20:41:22 UTC (rev
2918)
+++ trunk/myserver/src/log/log_manager.cpp 2008-10-28 00:03:08 UTC (rev
2919)
@@ -112,6 +112,11 @@
return 1;
}
+/*
+ * Remove all the logs owned by `owner' and `owner' as well.
+ * After the call to this method, a call to contains (owner)
+ * must return false.
+ */
int
LogManager::remove (void* owner)
{
@@ -119,20 +124,21 @@
int success = 1;
if (contains (owner))
{
- map<string, map<string, LogStream*> > m = owners[owner];
+ map<string, map<string, LogStream*> > *m = &owners[owner];
map<string, map<string, LogStream*> >::iterator it_1;
- for (it_1 = m.begin (); it_1 != m.end (); it_1++)
+ for (it_1 = m->begin (); it_1 != m->end (); it_1++)
{
- map<string, LogStream*> t = it_1->second;
+ map<string, LogStream*> *t = &it_1->second;
map<string, LogStream*>::iterator it_2;
- for (it_2 = t.begin (); it_2 != t.end (); it_2++)
+ for (it_2 = t->begin (); it_2 != t->end (); it_2++)
{
delete it_2->second;
logStreams.erase (it_2->first);
}
- t.clear ();
+ t->clear ();
}
- m.clear ();
+ m->clear ();
+ owners.erase (owner);
success = 0;
}
mutex->unlock ();
Modified: trunk/myserver/src/server/server.cpp
===================================================================
--- trunk/myserver/src/server/server.cpp 2008-10-27 20:41:22 UTC (rev
2918)
+++ trunk/myserver/src/server/server.cpp 2008-10-28 00:03:08 UTC (rev
2919)
@@ -99,16 +99,22 @@
vhostList = 0;
purgeThreadsThreshold = 1;
freeThreads = 0;
+ logManager = new LogManager (&filtersFactory);
initLogManager ();
}
void
Server::initLogManager ()
{
- logLocation.assign ("console://stdout");
- logManager = new LogManager (&filtersFactory);
- list<string> filters;
- logManager->add (this, "MAINLOG", logLocation, filters, 0);
+ if (!logLocation.size ())
+ {
+ logLocation.assign ("console://stdout");
+ }
+ if (!logManager->contains (this))
+ {
+ list<string> filters;
+ logManager->add (this, "MAINLOG", logLocation, filters, 0);
+ }
}
/*!
@@ -987,6 +993,7 @@
*/
int Server::initialize()
{
+ initLogManager ();
char *data;
#ifdef WIN32
envString = GetEnvironmentStrings();
Modified: trunk/myserver/tests/test_log_manager.cpp
===================================================================
--- trunk/myserver/tests/test_log_manager.cpp 2008-10-27 20:41:22 UTC (rev
2918)
+++ trunk/myserver/tests/test_log_manager.cpp 2008-10-28 00:03:08 UTC (rev
2919)
@@ -84,6 +84,7 @@
CPPUNIT_ASSERT (lm->remove (this));
lm->add (this, "test", "file://foo", filters, 0);
CPPUNIT_ASSERT (!lm->remove (this));
+ CPPUNIT_ASSERT (!lm->contains (this));
}
void testLog ()
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [myserver-commit] [2919] Fixed a problem with reboots.,
Francesco Pipita <=