declare_msg();
- xbt_assert0(argc == 3, "usage: replay_master tracefile port");
+ xbt_assert(argc == 3, "usage: replay_master tracefile port");
gras_socket_server(atoi(argv[2])); /* open my master socket, even if I don't use it */
xbt_dynar_t peers = amok_pm_group_new("replay"); /* group of slaves */
xbt_peer_t peer;
xbt_workload_sort_who_date(cmds);
unsigned int cursor;
xbt_workload_elm_t cmd;
-
- xbt_ex_t e;
xbt_dict_cursor_t dict_cursor;
xbt_dict_t pals_int = xbt_dict_new();
/* friends, we're ready. Come and play */
XBT_INFO("Wait for peers for a while. I need %d peers",
- xbt_dict_size(pals_int));
- while (xbt_dynar_length(peers) < xbt_dict_size(pals_int)) {
+ xbt_dict_length(pals_int));
+ while (xbt_dynar_length(peers) < xbt_dict_length(pals_int)) {
TRY {
gras_msg_handle(20);
}
- CATCH(e) {
+ CATCH_ANONYMOUS {
xbt_dynar_foreach(peers, cursor, peer) {
xbt_dict_remove(pals_int, peer->name);
}
static void do_command(int rank, void *c)
{
- xbt_ex_t e;
xbt_workload_elm_t cmd = *(xbt_workload_elm_t *) c;
xbt_workload_data_chunk_t chunk;
TRY {
gras_msg_wait(1000000, "chunk", NULL, &chunk);
}
- CATCH(e) {
+ CATCH_ANONYMOUS {
SIMIX_display_process_status();
- RETHROW2("Exception while waiting for %f bytes from %s: %s",
+ RETHROWF("Exception while waiting for %f bytes from %s: %s",
cmd->d_arg, cmd->str_arg);
}
xbt_workload_data_chunk_free(chunk);
XBT_INFO("Done receiving %.f bytes from %s", cmd->d_arg, cmd->str_arg);
} else {
- xbt_die(bprintf
- ("unknown command: %s", xbt_workload_elm_to_string(cmd)));
+ xbt_die("unknown command: %s", xbt_workload_elm_to_string(cmd));
}
}
}
CATCH(e) {
SIMIX_display_process_status();
+ xbt_ex_free(e);
}
XBT_INFO("Communications all done");
xbt_dynar_reset(cmd_to_go);