A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
debug logs tweaking; to reset the exception container correctly
[simgrid.git]
/
src
/
gras
/
Msg
/
rpc.c
diff --git
a/src/gras/Msg/rpc.c
b/src/gras/Msg/rpc.c
index
551ab75
..
85d30d2
100644
(file)
--- a/
src/gras/Msg/rpc.c
+++ b/
src/gras/Msg/rpc.c
@@
-110,13
+110,11
@@
void gras_msg_rpc_async_wait(gras_msg_cb_ctx_t ctx,
&received);
free(ctx);
if (received.kind == e_gras_msg_kind_rpcerror) {
&received);
free(ctx);
if (received.kind == e_gras_msg_kind_rpcerror) {
- /* Damn. Got an exception. Extract it and revive it */
xbt_ex_t e;
memcpy(&e,received.payl,received.payl_size);
free(received.payl);
xbt_ex_t e;
memcpy(&e,received.payl,received.payl_size);
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"));
+ VERB3("Raise a remote exception cat:%d comming from %s (%s)",
+ e.category, e.host, e.msg);
__xbt_ex_ctx()->ctx_ex.msg = e.msg;
__xbt_ex_ctx()->ctx_ex.category = e.category;
__xbt_ex_ctx()->ctx_ex.value = e.value;
__xbt_ex_ctx()->ctx_ex.msg = e.msg;
__xbt_ex_ctx()->ctx_ex.category = e.category;
__xbt_ex_ctx()->ctx_ex.value = e.value;
@@
-128,6
+126,8
@@
void gras_msg_rpc_async_wait(gras_msg_cb_ctx_t ctx,
__xbt_ex_ctx()->ctx_ex.func = e.func;
__xbt_ex_ctx()->ctx_ex.used = e.used;
__xbt_ex_ctx()->ctx_ex.bt_strings = e.bt_strings;
__xbt_ex_ctx()->ctx_ex.func = e.func;
__xbt_ex_ctx()->ctx_ex.used = e.used;
__xbt_ex_ctx()->ctx_ex.bt_strings = e.bt_strings;
+ memset(&__xbt_ex_ctx()->ctx_ex.bt,0,
+ sizeof(__xbt_ex_ctx()->ctx_ex.bt));
DO_THROW(__xbt_ex_ctx()->ctx_ex);
}
memcpy(answer,received.payl,received.payl_size);
DO_THROW(__xbt_ex_ctx()->ctx_ex);
}
memcpy(answer,received.payl,received.payl_size);