#ifndef SYNCHRO_H
#define SYNCHRO_H
-#include <xbt/synchro.h>
+#include <xbt/synchro_core.h>
class mutex_t {
public:
~mutex_t() { xbt_mutex_destroy(mutex); }
void acquire() { xbt_mutex_acquire(mutex); }
void release() { xbt_mutex_release(mutex); }
- xbt_mutex_t get() { return mutex; }
private:
xbt_mutex_t mutex;
+
+ friend class condition_t;
};
class condition_t {
~condition_t() { xbt_cond_destroy(cond); }
void broadcast() { xbt_cond_broadcast(cond); }
void signal() { xbt_cond_signal(cond); }
- void wait(mutex_t& mutex) { xbt_cond_wait(cond, mutex.get()); }
+ void wait(mutex_t& mutex) { xbt_cond_wait(cond, mutex.mutex); }
void timedwait(mutex_t& mutex, double delay) {
- xbt_cond_timedwait(cond, mutex.get(), delay);
+ xbt_cond_timedwait(cond, mutex.mutex, delay);
}
private: