You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mesos.apache.org by be...@apache.org on 2015/06/14 11:46:32 UTC
[14/21] mesos git commit: Update cram_md5 to use synchronized.
Update cram_md5 to use synchronized.
Review: https://reviews.apache.org/r/35099
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/51fca3f7
Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/51fca3f7
Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/51fca3f7
Branch: refs/heads/master
Commit: 51fca3f7efa0fd8abd11c22d87092b13f2ba0318
Parents: 98039c9
Author: Joris Van Remoortere <jo...@gmail.com>
Authored: Sat Jun 13 07:18:56 2015 -0700
Committer: Benjamin Hindman <be...@gmail.com>
Committed: Sun Jun 14 02:43:01 2015 -0700
----------------------------------------------------------------------
src/authentication/cram_md5/auxprop.cpp | 5 +++--
src/authentication/cram_md5/auxprop.hpp | 25 +++++++++++++------------
2 files changed, 16 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/mesos/blob/51fca3f7/src/authentication/cram_md5/auxprop.cpp
----------------------------------------------------------------------
diff --git a/src/authentication/cram_md5/auxprop.cpp b/src/authentication/cram_md5/auxprop.cpp
index 984ed90..abf0f8d 100644
--- a/src/authentication/cram_md5/auxprop.cpp
+++ b/src/authentication/cram_md5/auxprop.cpp
@@ -18,6 +18,8 @@
#include "authentication/cram_md5/auxprop.hpp"
+#include <mutex>
+
#include "logging/logging.hpp"
using std::list;
@@ -30,8 +32,7 @@ namespace cram_md5 {
// Storage for the static members.
Multimap<string, Property> InMemoryAuxiliaryPropertyPlugin::properties;
sasl_auxprop_plug_t InMemoryAuxiliaryPropertyPlugin::plugin;
-pthread_mutex_t InMemoryAuxiliaryPropertyPlugin::mutex =
- PTHREAD_MUTEX_INITIALIZER;
+std::mutex InMemoryAuxiliaryPropertyPlugin::mutex;
int InMemoryAuxiliaryPropertyPlugin::initialize(
http://git-wip-us.apache.org/repos/asf/mesos/blob/51fca3f7/src/authentication/cram_md5/auxprop.hpp
----------------------------------------------------------------------
diff --git a/src/authentication/cram_md5/auxprop.hpp b/src/authentication/cram_md5/auxprop.hpp
index 1a054ba..0fa87f4 100644
--- a/src/authentication/cram_md5/auxprop.hpp
+++ b/src/authentication/cram_md5/auxprop.hpp
@@ -19,8 +19,7 @@
#ifndef __AUTHENTICATION_CRAM_MD5_AUXPROP_HPP__
#define __AUTHENTICATION_CRAM_MD5_AUXPROP_HPP__
-#include <pthread.h>
-
+#include <mutex>
#include <string>
#include <sasl/sasl.h>
@@ -30,8 +29,7 @@
#include <stout/multimap.hpp>
#include <stout/none.hpp>
#include <stout/option.hpp>
-
-#include "common/lock.hpp"
+#include <stout/synchronized.hpp>
namespace mesos {
namespace internal {
@@ -51,22 +49,25 @@ public:
static void load(const Multimap<std::string, Property>& _properties)
{
- Lock lock(&mutex);
- properties = _properties;
+ synchronized (mutex) {
+ properties = _properties;
+ }
}
static Option<std::list<std::string>> lookup(
const std::string& user,
const std::string& name)
{
- Lock lock(&mutex);
- if (properties.contains(user)) {
- foreach (const Property& property, properties.get(user)) {
- if (property.name == name) {
- return property.values;
+ synchronized (mutex) {
+ if (properties.contains(user)) {
+ foreach (const Property& property, properties.get(user)) {
+ if (property.name == name) {
+ return property.values;
+ }
}
}
}
+
return None();
}
@@ -98,7 +99,7 @@ private:
// Access to 'properties' has to be protected as multiple
// authenticator instances may be active concurrently.
- static pthread_mutex_t mutex;
+ static std::mutex mutex;
};
} // namespace cram_md5 {