Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
name threads to ease debugging
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 6 Aug 2007 18:22:52 +0000 (18:22 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Mon, 6 Aug 2007 18:22:52 +0000 (18:22 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@3997 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/java/jxbt_context.c
src/simix/smx_process.c
tools/tesh/run_context.c

index ea22c83..54a87e9 100644 (file)
@@ -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();
index f9514ec..ea86881 100644 (file)
@@ -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);
index f9716ed..42ce5be 100644 (file)
@@ -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);