X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c28b7e03130c89fae7bad65806977cdbccb79c53..682eb8ce658cd1cafc772d2f62b6fb9430471b81:/src/xbt/xbt_rl_synchro.c diff --git a/src/xbt/xbt_rl_synchro.c b/src/xbt/xbt_rl_synchro.c index 356313f7dc..d7d8a4dfa7 100644 --- a/src/xbt/xbt_rl_synchro.c +++ b/src/xbt/xbt_rl_synchro.c @@ -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; @@ -46,6 +46,14 @@ xbt_thread_t xbt_thread_create(const char*name,void_f_pvoid_t* code, void* param return res; } +const char* xbt_thread_name(xbt_thread_t t) { + return xbt_os_thread_name(t->os_thread); +} + +const char* xbt_thread_self_name(void) { + return xbt_os_thread_self_name(); +} + void xbt_thread_join(xbt_thread_t thread) { DEBUG1("Join thread %p",thread); @@ -82,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) { @@ -126,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) { @@ -136,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); }