Commit 4e199b28 authored by Mukund Sivaraman's avatar Mukund Sivaraman
Browse files

[2198] Move get methods into unnamed namespace

parent c3a8f64b
......@@ -16,6 +16,8 @@
#include <boost/weak_ptr.hpp>
#include <map>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
......@@ -28,6 +30,33 @@ using namespace isc::util::thread;
namespace isc {
namespace util {
namespace { // unnamed namespace
typedef std::map<std::string, boost::weak_ptr<isc::util::thread::Mutex> >
SyncMap;
SyncMap&
getSyncMap() {
// avoid static destruction fiasco when the SyncMap is destroyed
// before clients which use it such as logger objects. This leaks,
// but isn't a growing leak.
static SyncMap* sync_map = new SyncMap;
return (*sync_map);
}
Mutex&
getSyncMapMutex() {
// avoid static destruction fiasco when the Mutex is destroyed
// before clients which use it such as logger objects. This leaks,
// but isn't a growing leak.
static Mutex* sync_map_mutex = new Mutex;
return (*sync_map_mutex);
}
} // end of unnamed namespace
InterprocessSyncFile::InterprocessSyncFile(const std::string& task_name) :
InterprocessSync(task_name),
fd_(-1)
......@@ -74,26 +103,6 @@ InterprocessSyncFile::~InterprocessSyncFile() {
// destruction when basic block is exited.
}
InterprocessSyncFile::SyncMap&
InterprocessSyncFile::getSyncMap() {
// avoid static destruction fiasco when the SyncMap is destroyed
// before clients which use it such as logger objects. This leaks,
// but isn't a growing leak.
static SyncMap* sync_map = new SyncMap;
return (*sync_map);
}
Mutex&
InterprocessSyncFile::getSyncMapMutex() {
// avoid static destruction fiasco when the Mutex is destroyed
// before clients which use it such as logger objects. This leaks,
// but isn't a growing leak.
static Mutex* sync_map_mutex = new Mutex;
return (*sync_map_mutex);
}
bool
InterprocessSyncFile::do_lock(int cmd, short l_type) {
// Open lock file only when necessary (i.e., here). This is so that
......
......@@ -21,7 +21,6 @@
#include <boost/shared_ptr.hpp>
#include <map>
#include <string>
namespace isc {
......@@ -86,11 +85,7 @@ protected:
private:
typedef boost::shared_ptr<isc::util::thread::Mutex> MutexPtr;
typedef boost::shared_ptr<isc::util::thread::Mutex::Locker> LockerPtr;
typedef std::map<std::string, boost::weak_ptr<isc::util::thread::Mutex> >
SyncMap;
SyncMap& getSyncMap();
isc::util::thread::Mutex& getSyncMapMutex();
bool do_lock(int cmd, short l_type);
int fd_; ///< The descriptor for the open file
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment