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 2012/09/19 07:47:52 UTC

svn commit: r1387455 - in /incubator/mesos/trunk/third_party/libprocess: include/process/future.hpp include/process/latch.hpp include/process/process.hpp src/process.cpp src/tests.cpp

Author: benh
Date: Wed Sep 19 05:47:52 2012
New Revision: 1387455

URL: http://svn.apache.org/viewvc?rev=1387455&view=rev
Log:
Changed semantics of process::wait (and thus Future::await and
Latch::await which are built on process::wait) so that
Timeout::remaining does what is expected once it reaches 0 (e.g.,
future.await(timeout.remaining()) should not block forever once
timeout.remaining() == 0).

Modified:
    incubator/mesos/trunk/third_party/libprocess/include/process/future.hpp
    incubator/mesos/trunk/third_party/libprocess/include/process/latch.hpp
    incubator/mesos/trunk/third_party/libprocess/include/process/process.hpp
    incubator/mesos/trunk/third_party/libprocess/src/process.cpp
    incubator/mesos/trunk/third_party/libprocess/src/tests.cpp

Modified: incubator/mesos/trunk/third_party/libprocess/include/process/future.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/third_party/libprocess/include/process/future.hpp?rev=1387455&r1=1387454&r2=1387455&view=diff
==============================================================================
--- incubator/mesos/trunk/third_party/libprocess/include/process/future.hpp (original)
+++ incubator/mesos/trunk/third_party/libprocess/include/process/future.hpp Wed Sep 19 05:47:52 2012
@@ -71,7 +71,7 @@ public:
   bool discard();
 
   // Waits for this future to become ready, discarded, or failed.
-  bool await(const Duration& duration = Seconds(0)) const;
+  bool await(const Duration& duration = Seconds(-1.0)) const;
 
   // Return the value associated with this future, waits indefinitely
   // until a value gets associated or until the future is discarded.

Modified: incubator/mesos/trunk/third_party/libprocess/include/process/latch.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/third_party/libprocess/include/process/latch.hpp?rev=1387455&r1=1387454&r2=1387455&view=diff
==============================================================================
--- incubator/mesos/trunk/third_party/libprocess/include/process/latch.hpp (original)
+++ incubator/mesos/trunk/third_party/libprocess/include/process/latch.hpp Wed Sep 19 05:47:52 2012
@@ -17,7 +17,7 @@ public:
   bool operator < (const Latch& that) const { return pid < that.pid; }
 
   void trigger();
-  bool await(const Duration& duration = Seconds(0));
+  bool await(const Duration& duration = Seconds(-1.0));
 
 private:
   // Not copyable, not assignable.

Modified: incubator/mesos/trunk/third_party/libprocess/include/process/process.hpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/third_party/libprocess/include/process/process.hpp?rev=1387455&r1=1387454&r2=1387455&view=diff
==============================================================================
--- incubator/mesos/trunk/third_party/libprocess/include/process/process.hpp (original)
+++ incubator/mesos/trunk/third_party/libprocess/include/process/process.hpp Wed Sep 19 05:47:52 2012
@@ -312,9 +312,9 @@ void terminate(const ProcessBase* proces
  * @param PID id of the process
  * @param secs max time to wait, 0 implies wait for ever
  */
-bool wait(const UPID& pid, const Duration& duration = Seconds(0));
-bool wait(const ProcessBase& process, const Duration& duration = Seconds(0));
-bool wait(const ProcessBase* process, const Duration& duration = Seconds(0));
+bool wait(const UPID& pid, const Duration& duration = Seconds(-1.0));
+bool wait(const ProcessBase& process, const Duration& duration = Seconds(-1.0));
+bool wait(const ProcessBase* process, const Duration& duration = Seconds(-1.0));
 
 
 /**

Modified: incubator/mesos/trunk/third_party/libprocess/src/process.cpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/third_party/libprocess/src/process.cpp?rev=1387455&r1=1387454&r2=1387455&view=diff
==============================================================================
--- incubator/mesos/trunk/third_party/libprocess/src/process.cpp (original)
+++ incubator/mesos/trunk/third_party/libprocess/src/process.cpp Wed Sep 19 05:47:52 2012
@@ -2971,7 +2971,7 @@ bool wait(const UPID& pid, const Duratio
               << pid << " that it is currently executing." << std::endl;
   }
 
-  if (duration == Seconds(0)) {
+  if (duration == Seconds(-1.0)) {
     return process_manager->wait(pid);
   }
 

Modified: incubator/mesos/trunk/third_party/libprocess/src/tests.cpp
URL: http://svn.apache.org/viewvc/incubator/mesos/trunk/third_party/libprocess/src/tests.cpp?rev=1387455&r1=1387454&r2=1387455&view=diff
==============================================================================
--- incubator/mesos/trunk/third_party/libprocess/src/tests.cpp (original)
+++ incubator/mesos/trunk/third_party/libprocess/src/tests.cpp Wed Sep 19 05:47:52 2012
@@ -230,6 +230,8 @@ TEST(Process, spawn)
 
   ASSERT_FALSE(!pid);
 
+  ASSERT_FALSE(wait(pid, Seconds(0)));
+
   terminate(pid);
   wait(pid);
 }