summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaloian Manassiev <kaloian.manassiev@mongodb.com>2015-03-26 17:47:53 -0400
committerRamon Fernandez <ramon.fernandez@mongodb.com>2015-04-10 16:59:35 -0400
commit79b7d1d1d84c127a860d9130325000ada9783d58 (patch)
treed1a2af858eecc262301ca501c992170c3052c129
parent23d882d8f6423e27e4f3a01f7829861e77ba2e0e (diff)
downloadmongo-79b7d1d1d84c127a860d9130325000ada9783d58.tar.gz
SERVER-17761 DbWebServer should own the AdminAccess pointer
(cherry picked from commit e29ff8af63903ee88f44ad38cac780bd20cf6543)
-rw-r--r--src/mongo/db/dbwebserver.cpp2
-rw-r--r--src/mongo/db/dbwebserver.h7
2 files changed, 5 insertions, 4 deletions
diff --git a/src/mongo/db/dbwebserver.cpp b/src/mongo/db/dbwebserver.cpp
index 66e9ec6e53d..6c71a4f8cd5 100644
--- a/src/mongo/db/dbwebserver.cpp
+++ b/src/mongo/db/dbwebserver.cpp
@@ -283,7 +283,7 @@ namespace {
} // namespace
- DbWebServer::DbWebServer(const string& ip, int port, const AdminAccess* webUsers)
+ DbWebServer::DbWebServer(const string& ip, int port, AdminAccess* webUsers)
: MiniWebServer("admin web console", ip, port),
_webUsers(webUsers) {
diff --git a/src/mongo/db/dbwebserver.h b/src/mongo/db/dbwebserver.h
index b1c8529024a..0f4b6625194 100644
--- a/src/mongo/db/dbwebserver.h
+++ b/src/mongo/db/dbwebserver.h
@@ -35,6 +35,7 @@
#include <string>
#include <vector>
+#include "mongo/base/disallow_copying.h"
#include "mongo/util/net/miniwebserver.h"
#include "mongo/util/net/sock.h"
@@ -54,6 +55,7 @@ namespace mongo {
};
class DbWebHandler : public Prioritizable {
+ MONGO_DISALLOW_COPYING(DbWebHandler);
public:
DbWebHandler( const std::string& name , double priority , bool requiresREST );
virtual ~DbWebHandler() {}
@@ -107,7 +109,7 @@ namespace mongo {
class DbWebServer : public MiniWebServer {
public:
- DbWebServer(const std::string& ip, int port, const AdminAccess* webUsers);
+ DbWebServer(const std::string& ip, int port, AdminAccess* webUsers);
private:
virtual void doRequest(const char *rq,
@@ -127,8 +129,7 @@ namespace mongo {
std::vector<std::string>& headers);
- // not owned here
- const AdminAccess* _webUsers;
+ const boost::scoped_ptr<AdminAccess> _webUsers;
};
void webServerListenThread(boost::shared_ptr<DbWebServer> dbWebServer);