cec: and now proper predicates
[deb_libcec.git] / src / lib / platform / posix / os-threads.h
index 48e1e355ca16e8ee18965852cda41bfd48329c63..5216ffe7793ac40bea9c28bf93ffbb6e7cba986b 100644 (file)
@@ -92,17 +92,22 @@ namespace PLATFORM
       pthread_cond_broadcast(&m_condition);
     }
 
-    bool Wait(mutex_t &mutex, uint32_t iTimeoutMs)
+    bool Wait(mutex_t &mutex)
     {
       sched_yield();
-      if (iTimeoutMs > 0)
-      {
-        struct timespec timeout = GetAbsTime(iTimeoutMs);
-        return (pthread_cond_timedwait(&m_condition, &mutex, &timeout) == 0);
-      }
       return (pthread_cond_wait(&m_condition, &mutex) == 0);
     }
 
+    bool Wait(mutex_t &mutex, uint32_t iTimeoutMs)
+    {
+      if (iTimeoutMs == 0)
+        return Wait(mutex);
+
+      sched_yield();
+      struct timespec timeout = GetAbsTime(iTimeoutMs);
+      return (pthread_cond_timedwait(&m_condition, &mutex, &timeout) == 0);
+    }
+
     pthread_cond_t m_condition;
   };
 }