Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Found why the backtrace were not propagated anymore
authormquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 4 Apr 2006 14:40:21 +0000 (14:40 +0000)
committermquinson <mquinson@48e7efb5-ca39-0410-a469-dd3cf9ba447f>
Tue, 4 Apr 2006 14:40:21 +0000 (14:40 +0000)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@2081 48e7efb5-ca39-0410-a469-dd3cf9ba447f

src/gras/Msg/rpc.c
src/xbt/ex.c

index bd93d54..01dd282 100644 (file)
@@ -113,9 +113,10 @@ void gras_msg_rpc_async_wait(gras_msg_cb_ctx_t ctx,
     /* Damn. Got an exception. Extract it and revive it */
     xbt_ex_t e;
     memcpy(&e,received.payl,received.payl_size);
-    VERB2("Raise a remote exception comming from %s %s",e.host,
-         (__xbt_ex_ctx()->ctx_caught?"caught":"not caught"));
     free(received.payl);
+    VERB3("Raise a remote exception cat:%d comming from %s %s",
+         e.category, e.host,
+         (__xbt_ex_ctx()->ctx_caught?"caught":"not caught"));
      __xbt_ex_ctx()->ctx_ex.msg      = e.msg;
      __xbt_ex_ctx()->ctx_ex.category = e.category;
      __xbt_ex_ctx()->ctx_ex.value    = e.value;
@@ -126,7 +127,7 @@ void gras_msg_rpc_async_wait(gras_msg_cb_ctx_t ctx,
      __xbt_ex_ctx()->ctx_ex.line     = e.line;
      __xbt_ex_ctx()->ctx_ex.func     = e.func;
      __xbt_ex_ctx()->ctx_ex.used     = e.used;
-     //    memcpy((void*)&(__xbt_ex_ctx()->ctx_ex),&e,sizeof(xbt_ex_t));
+     __xbt_ex_ctx()->ctx_ex.bt_strings = e.bt_strings;
     DO_THROW(__xbt_ex_ctx()->ctx_ex);
 
   }
index 4c4c6be..969c68b 100644 (file)
@@ -90,9 +90,8 @@ void xbt_ex_free(xbt_ex_t e) {
   if (e.remote) {
     free(e.file);
     free(e.func);
-    if (e.bt_strings) /* FIXME: should never be NULL... */
-      for (i=0; i<e.used; i++) 
-       free(e.bt_strings[i]);
+    for (i=0; i<e.used; i++) 
+      free(e.bt_strings[i]);
     free(e.bt_strings);
     e.bt_strings=NULL;
     free(e.host);