X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/blobdiff_plain/612a491138746843a9fe0df8551e6ccf6ea2cf27..41494029236416fcaad7fe8cc67c69a730fc9265:/synchro.h diff --git a/synchro.h b/synchro.h index 07897e0..bd49783 100644 --- a/synchro.h +++ b/synchro.h @@ -1,7 +1,6 @@ #ifndef SYNCHRO_H #define SYNCHRO_H -#include #include class mutex_t { @@ -25,12 +24,7 @@ public: void signal() { xbt_cond_signal(cond); } void wait(mutex_t& mutex) { xbt_cond_wait(cond, mutex.mutex); } bool timedwait(mutex_t& mutex, double delay) { - try { - xbt_cond_timedwait(cond, mutex.mutex, delay); - } - catch (const xbt_ex& e) { - if (e.category != timeout_error) - throw; + if (xbt_cond_timedwait(cond, mutex.mutex, delay)) { mutex.acquire(); return false; // got a timeout }