From c28b7e03130c89fae7bad65806977cdbccb79c53 Mon Sep 17 00:00:00 2001 From: mquinson Date: Mon, 6 Aug 2007 18:27:49 +0000 Subject: [PATCH] name the threads, plus debugs (ways too much for now) git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@3999 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- src/xbt/xbt_rl_synchro.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/xbt/xbt_rl_synchro.c b/src/xbt/xbt_rl_synchro.c index 29c7618b35..356313f7dc 100644 --- a/src/xbt/xbt_rl_synchro.c +++ b/src/xbt/xbt_rl_synchro.c @@ -30,18 +30,19 @@ typedef struct s_xbt_thread_ { static void *xbt_thread_create_wrapper(void *p) { xbt_thread_t t = (xbt_thread_t)p; + DEBUG1("I'm thread %p",p); (*t->code)(t->userparam); return NULL; } -xbt_thread_t xbt_thread_create(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; res->code = code; - res->os_thread = xbt_os_thread_create(xbt_thread_create_wrapper,res); DEBUG1("Create thread %p",res); + res->os_thread = xbt_os_thread_create(name,xbt_thread_create_wrapper,res); return res; } @@ -57,7 +58,7 @@ void xbt_thread_exit() { } xbt_thread_t xbt_thread_self(void) { - return (xbt_thread_t)xbt_os_thread_getparam(); + return (xbt_thread_t)xbt_os_thread_self(); } void xbt_thread_yield(void) { @@ -81,6 +82,7 @@ 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; } @@ -92,6 +94,7 @@ void xbt_mutex_lock(xbt_mutex_t mutex) { void xbt_mutex_unlock(xbt_mutex_t mutex) { DEBUG1("Unlock mutex %p", mutex); xbt_os_mutex_unlock( (xbt_os_mutex_t)mutex ); + xbt_backtrace_display_current(); } void xbt_mutex_destroy(xbt_mutex_t mutex) { @@ -133,7 +136,9 @@ 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); } void xbt_cond_signal(xbt_cond_t cond) { -- 2.20.1