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 2013/05/29 19:41:11 UTC

[33/35] git commit: Used ThreadLocal from stout.

Used ThreadLocal from stout.

Review: https://reviews.apache.org/r/11475


Project: http://git-wip-us.apache.org/repos/asf/incubator-mesos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-mesos/commit/1caf21b4
Tree: http://git-wip-us.apache.org/repos/asf/incubator-mesos/tree/1caf21b4
Diff: http://git-wip-us.apache.org/repos/asf/incubator-mesos/diff/1caf21b4

Branch: refs/heads/master
Commit: 1caf21b4faea2322cf39ecabaa0d0578132ab6ce
Parents: bb1c353
Author: Benjamin Hindman <be...@twitter.com>
Authored: Mon May 27 12:29:53 2013 -0700
Committer: Benjamin Hindman <be...@twitter.com>
Committed: Tue May 28 14:20:25 2013 -0700

----------------------------------------------------------------------
 3rdparty/libprocess/3rdparty/Makefile.am         |    1 +
 3rdparty/libprocess/Makefile.am                  |    1 -
 3rdparty/libprocess/include/process/executor.hpp |    2 +-
 3rdparty/libprocess/include/process/process.hpp  |    2 +-
 3rdparty/libprocess/include/process/thread.hpp   |   49 -----------------
 3rdparty/libprocess/src/process.cpp              |    2 +-
 3rdparty/libprocess/src/tests/process_tests.cpp  |   23 --------
 7 files changed, 4 insertions(+), 76 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-mesos/blob/1caf21b4/3rdparty/libprocess/3rdparty/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/3rdparty/Makefile.am b/3rdparty/libprocess/3rdparty/Makefile.am
index 20599ec..7a9ede6 100644
--- a/3rdparty/libprocess/3rdparty/Makefile.am
+++ b/3rdparty/libprocess/3rdparty/Makefile.am
@@ -128,6 +128,7 @@ stout_tests_SOURCES =				\
   $(STOUT)/tests/none_tests.cpp			\
   $(STOUT)/tests/os_tests.cpp			\
   $(STOUT)/tests/strings_tests.cpp		\
+  $(STOUT)/tests/thread_tests.cpp		\
   $(STOUT)/tests/uuid_tests.cpp
 
 if OS_LINUX

http://git-wip-us.apache.org/repos/asf/incubator-mesos/blob/1caf21b4/3rdparty/libprocess/Makefile.am
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/Makefile.am b/3rdparty/libprocess/Makefile.am
index b6b8abd..9facdd9 100644
--- a/3rdparty/libprocess/Makefile.am
+++ b/3rdparty/libprocess/Makefile.am
@@ -87,7 +87,6 @@ libprocess_la_SOURCES +=					\
   $(top_srcdir)/include/process/run.hpp				\
   $(top_srcdir)/include/process/socket.hpp			\
   $(top_srcdir)/include/process/statistics.hpp			\
-  $(top_srcdir)/include/process/thread.hpp			\
   $(top_srcdir)/include/process/time.hpp			\
   $(top_srcdir)/include/process/timeout.hpp			\
   $(top_srcdir)/include/process/timer.hpp

http://git-wip-us.apache.org/repos/asf/incubator-mesos/blob/1caf21b4/3rdparty/libprocess/include/process/executor.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/include/process/executor.hpp b/3rdparty/libprocess/include/process/executor.hpp
index 72fb2f1..f203476 100644
--- a/3rdparty/libprocess/include/process/executor.hpp
+++ b/3rdparty/libprocess/include/process/executor.hpp
@@ -4,9 +4,9 @@
 #include <process/deferred.hpp>
 #include <process/dispatch.hpp>
 #include <process/id.hpp>
-#include <process/thread.hpp>
 
 #include <stout/preprocessor.hpp>
+#include <stout/thread.hpp>
 
 namespace process {
 

http://git-wip-us.apache.org/repos/asf/incubator-mesos/blob/1caf21b4/3rdparty/libprocess/include/process/process.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/include/process/process.hpp b/3rdparty/libprocess/include/process/process.hpp
index 8228e4f..e70b4f7 100644
--- a/3rdparty/libprocess/include/process/process.hpp
+++ b/3rdparty/libprocess/include/process/process.hpp
@@ -16,9 +16,9 @@
 #include <process/message.hpp>
 #include <process/mime.hpp>
 #include <process/pid.hpp>
-#include <process/thread.hpp>
 
 #include <stout/duration.hpp>
+#include <stout/thread.hpp>
 
 namespace process {
 

http://git-wip-us.apache.org/repos/asf/incubator-mesos/blob/1caf21b4/3rdparty/libprocess/include/process/thread.hpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/include/process/thread.hpp b/3rdparty/libprocess/include/process/thread.hpp
deleted file mode 100644
index 3e3b5d2..0000000
--- a/3rdparty/libprocess/include/process/thread.hpp
+++ /dev/null
@@ -1,49 +0,0 @@
-#ifndef __PROCESS_THREAD_HPP__
-#define __PROCESS_THREAD_HPP__
-
-#include <pthread.h>
-#include <stdio.h> // For perror.
-#include <stdlib.h> // For abort.
-
-template <typename T>
-struct ThreadLocal
-{
-  ThreadLocal()
-  {
-    if (pthread_key_create(&key, NULL) != 0) {
-      perror("Failed to create thread local, pthread_key_create");
-      abort();
-    }
-  }
-
-  ThreadLocal<T>& operator = (T* t)
-  {
-    if (pthread_setspecific(key, t) != 0) {
-      perror("Failed to set thread local, pthread_setspecific");
-      abort();
-    }
-    return *this;
-  }
-
-  operator T* () const
-  {
-    return reinterpret_cast<T*>(pthread_getspecific(key));
-  }
-
-  T* operator -> () const
-  {
-    return reinterpret_cast<T*>(pthread_getspecific(key));
-  }
-
-private:
-  // Not expecting any other operators to be used (and the rest?).
-  bool operator * (const ThreadLocal<T>&) const;
-  bool operator == (const ThreadLocal<T>&) const;
-  bool operator != (const ThreadLocal<T>&) const;
-  bool operator < (const ThreadLocal<T>&) const;
-  bool operator > (const ThreadLocal<T>&) const;
-
-  pthread_key_t key;
-};
-
-#endif // __PROCESS_THREAD_HPP__

http://git-wip-us.apache.org/repos/asf/incubator-mesos/blob/1caf21b4/3rdparty/libprocess/src/process.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/src/process.cpp b/3rdparty/libprocess/src/process.cpp
index 86414e5..3ffe0b5 100644
--- a/3rdparty/libprocess/src/process.cpp
+++ b/3rdparty/libprocess/src/process.cpp
@@ -61,7 +61,6 @@
 #include <process/profiler.hpp>
 #include <process/socket.hpp>
 #include <process/statistics.hpp>
-#include <process/thread.hpp>
 #include <process/time.hpp>
 #include <process/timer.hpp>
 
@@ -71,6 +70,7 @@
 #include <stout/net.hpp>
 #include <stout/os.hpp>
 #include <stout/strings.hpp>
+#include <stout/thread.hpp>
 
 #include "config.hpp"
 #include "decoder.hpp"

http://git-wip-us.apache.org/repos/asf/incubator-mesos/blob/1caf21b4/3rdparty/libprocess/src/tests/process_tests.cpp
----------------------------------------------------------------------
diff --git a/3rdparty/libprocess/src/tests/process_tests.cpp b/3rdparty/libprocess/src/tests/process_tests.cpp
index dc5c671..dfa11df 100644
--- a/3rdparty/libprocess/src/tests/process_tests.cpp
+++ b/3rdparty/libprocess/src/tests/process_tests.cpp
@@ -22,7 +22,6 @@
 #include <process/gtest.hpp>
 #include <process/process.hpp>
 #include <process/run.hpp>
-#include <process/thread.hpp>
 #include <process/time.hpp>
 
 #include <stout/duration.hpp>
@@ -42,28 +41,6 @@ using testing::ReturnArg;
 
 // TODO(bmahler): Move tests into their own files as appropriate.
 
-TEST(Process, thread)
-{
-  ThreadLocal<ProcessBase>* _process_ = new ThreadLocal<ProcessBase>();
-
-  ProcessBase* process = new ProcessBase();
-
-  ASSERT_TRUE(*(_process_) == NULL);
-
-  (*_process_) = process;
-
-  ASSERT_TRUE(*(_process_) == process);
-  ASSERT_FALSE(*(_process_) == NULL);
-
-  (*_process_) = NULL;
-
-  ASSERT_TRUE(*(_process_) == NULL);
-
-  delete process;
-  delete _process_;
-}
-
-
 TEST(Process, event)
 {
   Event* event = new TerminateEvent(UPID());