Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Do connect all log channel manually to parent using XBT_LOG_CONNECT() too, so that...
[simgrid.git] / src / xbt / xbt_rl_synchro.c
index 140bb5c..d7d8a4d 100644 (file)
@@ -24,7 +24,7 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(xbt_sync_rl,xbt,"Synchronization mechanism (RL)"
 
 typedef struct s_xbt_thread_ {   
    xbt_os_thread_t os_thread;
-   void_f_pvoid_t *code;
+   void_f_pvoid_t code;
    void *userparam;   
 }s_xbt_thread_t;
 
@@ -36,7 +36,7 @@ static void *xbt_thread_create_wrapper(void *p)  {
 }
 
 
-xbt_thread_t xbt_thread_create(const char*name,void_f_pvoid_t* code, void* param) {
+xbt_thread_t xbt_thread_create(const char*name,void_f_pvoid_t code, void* param) {
 
    xbt_thread_t res = xbt_new0(s_xbt_thread_t,1);
    res->userparam = param;
@@ -90,19 +90,23 @@ struct xbt_mutex_ {
 xbt_mutex_t xbt_mutex_init(void) {
    xbt_mutex_t res = (xbt_mutex_t)xbt_os_mutex_init();
    DEBUG1("Create mutex %p", res);
-   xbt_backtrace_display_current();
    return res;
 }
 
-void xbt_mutex_lock(xbt_mutex_t mutex) {
-   DEBUG1("Lock mutex %p", mutex);
-   xbt_os_mutex_lock( (xbt_os_mutex_t)mutex );
+void xbt_mutex_acquire(xbt_mutex_t mutex) {
+   DEBUG1("Acquire mutex %p", mutex);
+   xbt_os_mutex_acquire( (xbt_os_mutex_t)mutex );
 }
 
-void xbt_mutex_unlock(xbt_mutex_t mutex) {
+void xbt_mutex_timedacquire(xbt_mutex_t mutex, double delay)
+{
+       DEBUG2("Acquire mutex %p with delay %lf", mutex,delay);
+   xbt_os_mutex_timedacquire( (xbt_os_mutex_t)mutex,delay );
+}
+
+void xbt_mutex_release(xbt_mutex_t mutex) {
    DEBUG1("Unlock mutex %p", mutex);
-   xbt_os_mutex_unlock( (xbt_os_mutex_t)mutex );
-   xbt_backtrace_display_current();
+   xbt_os_mutex_release( (xbt_os_mutex_t)mutex );
 }
 
 void xbt_mutex_destroy(xbt_mutex_t mutex) {
@@ -134,7 +138,7 @@ typedef struct xbt_cond_ {
 xbt_cond_t xbt_cond_init(void) {
    xbt_cond_t res = (xbt_cond_t) xbt_os_cond_init();
    DEBUG1("Create cond %p", res);
-   return (xbt_cond_t) xbt_os_cond_init();
+   return res;
 }
 
 void xbt_cond_wait(xbt_cond_t cond, xbt_mutex_t mutex) {
@@ -144,7 +148,6 @@ void xbt_cond_wait(xbt_cond_t cond, xbt_mutex_t mutex) {
 
 void xbt_cond_timedwait(xbt_cond_t cond, xbt_mutex_t mutex, double delay) {
    DEBUG3("Wait cond %p, mutex %p for %f sec", cond, mutex,delay);
-   xbt_backtrace_display_current();
    xbt_os_cond_timedwait( (xbt_os_cond_t)cond, (xbt_os_mutex_t)mutex, delay );
    DEBUG3("Done waiting cond %p, mutex %p for %f sec", cond, mutex, delay);
 }