#ifndef SYNCHRO_H
#define SYNCHRO_H
-#include <xbt/ex.hpp>
#include <xbt/synchro.h>
class mutex_t {
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
}