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);
}