void *payload_data)
{
gras_socket_t expeditor = gras_msg_cb_ctx_from(ctx);
- xbt_ex_t e;
get_suc_t incoming = *(get_suc_t *) payload_data;
rep_suc_t outgoing;
node_data_t *globals = (node_data_t *) gras_userdata_get();
temp_sock = gras_socket_client(globals->finger[contact].host,
globals->finger[contact].port);
}
- CATCH(e) {
- RETHROW0("Unable to connect!: %s");
+ CATCH_ANONYMOUS {
+ RETHROWF("Unable to connect!: %s");
}
TRY {
gras_msg_send(temp_sock, "chord_get_suc", &asking);
}
- CATCH(e) {
- RETHROW0("Unable to ask!: %s");
+ CATCH_ANONYMOUS {
+ RETHROWF("Unable to ask!: %s");
}
gras_msg_wait(10., "chord_rep_suc", &temp_sock, &outgoing);
}
gras_msg_send(expeditor, "chord_rep_suc", &outgoing);
XBT_INFO("Successor information sent!");
}
- CATCH(e) {
- RETHROW2("%s:Timeout sending successor information to %s: %s",
+ CATCH_ANONYMOUS {
+ RETHROWF("%s:Timeout sending successor information to %s: %s",
globals->host, gras_socket_peer_name(expeditor));
}
gras_socket_close(expeditor);
static void fix_fingers()
{
get_suc_t get_suc_msg;
- xbt_ex_t e;
gras_socket_t temp_sock = NULL;
gras_socket_t temp_sock2 = NULL;
rep_suc_t rep_suc_msg;
TRY {
temp_sock = gras_socket_client(globals->host, globals->port);
- } CATCH(e) {
- RETHROW0("Unable to contact known host: %s");
+ }
+ CATCH_ANONYMOUS {
+ RETHROWF("Unable to contact known host: %s");
}
get_suc_msg.id = globals->id;
TRY {
gras_msg_send(temp_sock, "chord_get_suc", &get_suc_msg);
- } CATCH(e) {
+ }
+ CATCH_ANONYMOUS {
gras_socket_close(temp_sock);
- RETHROW0("Unable to contact known host to get successor!: %s");
+ RETHROWF("Unable to contact known host to get successor!: %s");
}
TRY {
XBT_INFO("Waiting for reply!");
gras_msg_wait(6000, "chord_rep_suc", &temp_sock2, &rep_suc_msg);
- } CATCH(e) {
- RETHROW1("%s: Error waiting for successor:%s", globals->host);
+ }
+ CATCH_ANONYMOUS {
+ RETHROWF("%s: Error waiting for successor:%s", globals->host);
}
globals->finger[0].id = rep_suc_msg.id;
snprintf(globals->finger[0].host, 1024, rep_suc_msg.host);
globals->pre_id = -1;
globals->pre_host[0] = 0;
globals->pre_port = 0;
+ xbt_ex_free(e);
}
ping.id = 0;
globals->pre_id = -1;
globals->pre_host[0] = 0;
globals->pre_port = 0;
+ xbt_ex_free(e);
}
TRY {
gras_msg_wait(60, "chord_pong", &temp_sock, &pong);
globals->pre_id = -1;
globals->pre_host[0] = 0;
globals->pre_port = 0;
+ xbt_ex_free(e);
}
gras_socket_close(temp_sock);
}
TRY {
temp_sock = gras_socket_client(other_host, other_port);
}
- CATCH(e) {
- RETHROW0("Unable to contact known host: %s");
+ CATCH_ANONYMOUS {
+ RETHROWF("Unable to contact known host: %s");
}
get_suc_msg.id = globals->id;
TRY {
gras_msg_send(temp_sock, "chord_get_suc", &get_suc_msg);
}
- CATCH(e) {
+ CATCH_ANONYMOUS {
gras_socket_close(temp_sock);
- RETHROW0("Unable to contact known host to get successor!: %s");
+ RETHROWF("Unable to contact known host to get successor!: %s");
}
TRY {
XBT_INFO("Waiting for reply!");
gras_msg_wait(10., "chord_rep_suc", &temp_sock2, &rep_suc_msg);
}
- CATCH(e) {
- RETHROW1("%s: Error waiting for successor:%s", globals->host);
+ CATCH_ANONYMOUS {
+ RETHROWF("%s: Error waiting for successor:%s", globals->host);
}
globals->finger[0].id = rep_suc_msg.id;
snprintf(globals->finger[0].host, 1024, rep_suc_msg.host);
temp_sock = gras_socket_client(globals->finger[0].host,
globals->finger[0].port);
}
- CATCH(e) {
- RETHROW0("Unable to contact successor: %s");
+ CATCH_ANONYMOUS {
+ RETHROWF("Unable to contact successor: %s");
}
notify_msg.id = globals->id;
TRY {
gras_msg_send(temp_sock, "chord_notify", ¬ify_msg);
}
- CATCH(e) {
- RETHROW0("Unable to notify successor! %s");
+ CATCH_ANONYMOUS {
+ RETHROWF("Unable to notify successor! %s");
}
}
gras_msg_handle(6000000.0);
}
CATCH(e) {
+ xbt_ex_free(e);
}
}
/*} */