xbt_assert1(!strncmp(e.msg,"Some error we will catch on client side",
strlen("Some error we will catch on client side")),
"Got wrong message: %s", e.msg);
- xbt_ex_free(&e);
+ xbt_ex_free(e);
}
}
int client(int argc,char *argv[]) {
- xbt_ex_t e;
+ xbt_ex_t e;
gras_socket_t toserver=NULL; /* peer */
gras_socket_t toforwarder=NULL; /* peer */
-
+ memset(&e,0,sizeof(xbt_ex_t));
int ping, pong, i;
volatile int gotit=0;
strlen("Some error we will catch on client side")),
"Got wrong message: %s", e.msg);
INFO0("Got the expected exception when calling the exception raising RPC");
- xbt_ex_free(&e);
+ xbt_ex_free(e);
}
if (!gotit)
gras_msgtype_by_name("raise exception"), NULL, NULL);
} CATCH(e) {
gotit = 1;
- xbt_ex_free(&e);
+ xbt_ex_free(e);
}
if (!gotit) {
THROW0(unknown_error,0,"Didn't got the remote exception!");
"Got wrong category: %d (instead of %d)",
e.category,unknown_error);
INFO0("Got the expected exception when calling the exception raising RPC");
- xbt_ex_free(&e);
+ xbt_ex_free(e);
exception_catching();
}
-
- gras_msg_send(toserver,gras_msgtype_by_name("kill"),NULL);
+
+ INFO2("Ask %s:%d to die",gras_socket_peer_name(toforwarder),gras_socket_peer_port(toforwarder));
gras_msg_send(toforwarder,gras_msgtype_by_name("kill"),NULL);
+ INFO2("Ask %s:%d to die",gras_socket_peer_name(toserver),gras_socket_peer_port(toserver));
+ gras_msg_send(toserver,gras_msgtype_by_name("kill"),NULL);
/* 11. Cleanup the place before leaving */
gras_socket_close(toserver);
static int forwarder_cb_kill(gras_msg_cb_ctx_t ctx,
void *payload_data) {
+ gras_socket_t expeditor = gras_msg_cb_ctx_from(ctx);
+ INFO2("Asked to die by %s:%d",gras_socket_peer_name(expeditor),gras_socket_peer_port(expeditor));
forward_data_t fdata=gras_userdata_get();
fdata->done = 1;
return 1;
void *payload_data) {
forward_data_t fdata=gras_userdata_get();
+ INFO0("Forward a request");
gras_msg_rpccall(fdata->server, 60,
gras_msgtype_by_name("raise exception"),NULL,NULL);
return 1;
static int server_cb_kill(gras_msg_cb_ctx_t ctx,
void *payload_data) {
+ gras_socket_t expeditor = gras_msg_cb_ctx_from(ctx);
+ INFO2("Asked to die by %s:%d",gras_socket_peer_name(expeditor),gras_socket_peer_port(expeditor));
+
server_data_t sdata=gras_userdata_get();
sdata->done = 1;
return 1;