Improved gate.hpp documentation. Review: https://reviews.apache.org/r/18988
Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/6fb588a4 Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/6fb588a4 Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/6fb588a4 Branch: refs/heads/master Commit: 6fb588a42ea699750fd6a81fa331f994802b066f Parents: 936772e Author: Jiang Yan Xu <y...@jxu.me> Authored: Mon Jun 23 14:41:04 2014 -0700 Committer: Jiang Yan Xu <y...@jxu.me> Committed: Thu Jul 3 14:30:58 2014 -0700 ---------------------------------------------------------------------- 3rdparty/libprocess/src/gate.hpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/6fb588a4/3rdparty/libprocess/src/gate.hpp ---------------------------------------------------------------------- diff --git a/3rdparty/libprocess/src/gate.hpp b/3rdparty/libprocess/src/gate.hpp index 78f944c..69c906b 100644 --- a/3rdparty/libprocess/src/gate.hpp +++ b/3rdparty/libprocess/src/gate.hpp @@ -27,6 +27,8 @@ public: pthread_mutex_destroy(&mutex); } + // Signals the state change of the gate to any (at least one) or + // all (if 'all' is true) of the threads waiting on it. void open(bool all = true) { pthread_mutex_lock(&mutex); @@ -38,6 +40,8 @@ public: pthread_mutex_unlock(&mutex); } + // Blocks the current thread until the gate's state changes from + // the current state. void wait() { pthread_mutex_lock(&mutex); @@ -52,6 +56,9 @@ public: pthread_mutex_unlock(&mutex); } + // Gets the current state of the gate and notifies the gate about + // the intention to wait for its state change. + // Call 'leave()' if no longer interested in the state change. state_t approach() { state_t old; @@ -64,6 +71,9 @@ public: return old; } + // Blocks the current thread until the gate's state changes from + // the specified 'old' state. The 'old' state can be obtained by + // calling 'approach()'. void arrive(state_t old) { pthread_mutex_lock(&mutex); @@ -76,6 +86,8 @@ public: pthread_mutex_unlock(&mutex); } + // Notifies the gate that a waiter (the current thread) is no + // longer waiting for the gate's state change. void leave() { pthread_mutex_lock(&mutex); @@ -85,6 +97,8 @@ public: pthread_mutex_unlock(&mutex); } + // Returns true if there is no one waiting on the gate's state + // change. bool empty() { bool occupied = true;