]> AND Public Git Repository - simgrid.git/blobdiff - src/s4u/s4u_conditionVariable.cpp
Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
plug a memleak. I should beter kill that XBT container instead
[simgrid.git] / src / s4u / s4u_conditionVariable.cpp
index 32002552091fd6a0c058e06077de93ac50150b59..3074f1253df9666f939e91d6e52f78b4211fd602 100644 (file)
@@ -25,6 +25,10 @@ void ConditionVariable::wait(std::unique_lock<Mutex>& lock) {
 }
 
 std::cv_status s4u::ConditionVariable::wait_for(std::unique_lock<Mutex>& lock, double timeout) {
+  // The simcall uses -1 for "any timeout" but we don't want this:
+  if (timeout < 0)
+    timeout = 0.0;
+
   try {
     simcall_cond_wait_timeout(cond_, lock.mutex()->mutex_, timeout);
     return std::cv_status::no_timeout;