From: mquinson Date: Mon, 6 Aug 2007 18:22:52 +0000 (+0000) Subject: name threads to ease debugging X-Git-Tag: v3.3~1363 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/173f89c2bae47be8560b162d55983b6554f44669 name threads to ease debugging git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@3997 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/src/java/jxbt_context.c b/src/java/jxbt_context.c index ea22c83d34..54a87e9195 100644 --- a/src/java/jxbt_context.c +++ b/src/java/jxbt_context.c @@ -116,6 +116,7 @@ xbt_context_free(xbt_context_t context) { if(context->exception) free(context->exception); + free(context->name); free(context); context = NULL; } @@ -271,13 +272,14 @@ xbt_context_start(xbt_context_t context) { xbt_context_t -xbt_context_new(xbt_main_func_t code, +xbt_context_new(const char *name, xbt_main_func_t code, void_f_pvoid_t startup_func, void *startup_arg, void_f_pvoid_t cleanup_func, void *cleanup_arg, int argc, char *argv[]) { xbt_context_t context = xbt_new0(s_xbt_context_t,1); context->code = code; + context->name = xbt_strdup(name); context->mutex = xbt_os_mutex_init(); context->cond = xbt_os_cond_init(); diff --git a/src/simix/smx_process.c b/src/simix/smx_process.c index f9514ecb72..ea868816df 100644 --- a/src/simix/smx_process.c +++ b/src/simix/smx_process.c @@ -69,7 +69,7 @@ smx_process_t SIMIX_process_create(const char *name, simdata->cond = NULL; simdata->argc = argc; simdata->argv = argv; - simdata->context = xbt_context_new(code, NULL, NULL, + simdata->context = xbt_context_new(name,code, NULL, NULL, simix_global-> cleanup_process_function, process, simdata->argc, simdata->argv); @@ -132,7 +132,7 @@ void SIMIX_jprocess_create(const char *name, smx_host_t host, simdata->argc = 0; simdata->argv = NULL; - simdata->context = xbt_context_new(NULL, NULL, NULL, + simdata->context = xbt_context_new(name,NULL, NULL, NULL, simix_global-> cleanup_process_function, process, /* argc/argv */ 0, NULL); diff --git a/tools/tesh/run_context.c b/tools/tesh/run_context.c index f9716edb12..42ce5be09b 100644 --- a/tools/tesh/run_context.c +++ b/tools/tesh/run_context.c @@ -340,8 +340,8 @@ void rctx_start(void) { rctx->end_time = -1; rctx->reader_done = 0; - rctx->reader = xbt_os_thread_create(thread_reader,(void*)rctx); - rctx->writer = xbt_os_thread_create(thread_writer,(void*)rctx); + rctx->reader = xbt_os_thread_create("reader",thread_reader,(void*)rctx); + rctx->writer = xbt_os_thread_create("writer",thread_writer,(void*)rctx); } else { /* child */ @@ -370,7 +370,7 @@ void rctx_start(void) { DEBUG2("RCTX: new bg=%p, new fg=%p",old,rctx); DEBUG2("Launch a thread to wait for %s %d",old->cmd,old->pid); - runner = xbt_os_thread_create(rctx_wait,(void*)old); + runner = xbt_os_thread_create(old->cmd,rctx_wait,(void*)old); old->runner = runner; VERB3("Launched thread %p to wait for %s %d", runner,old->cmd, old->pid);