XBT_INFO("Send a message to %s", mailbox->get_cname());
mailbox->put(payload, comm_size, 10.0);
XBT_INFO("Send to %s completed", mailbox->get_cname());
+ } catch (simgrid::HostFailureException& e) {
+ XBT_INFO("Gloups. The cpu on which I'm running just turned off!. See you!");
+ return -1;
} catch (xbt_ex& e) {
switch (e.category) {
- case host_error:
- XBT_INFO("Gloups. The cpu on which I'm running just turned off!. See you!");
- return -1;
- break;
case network_error:
XBT_INFO("Mmh. Something went wrong with '%s'. Nevermind. Let's keep going!", mailbox->get_cname());
break;
double* payload = new double(-1.0);
try {
mailbox->put(payload, 0, 1.0);
+ } catch (simgrid::HostFailureException& e) {
+ delete payload;
+ XBT_INFO("Gloups. The cpu on which I'm running just turned off!. See you!");
+ return -1;
} catch (xbt_ex& e) {
delete payload;
switch (e.category) {
- case host_error:
- XBT_INFO("Gloups. The cpu on which I'm running just turned off!. See you!");
- break;
case network_error:
XBT_INFO("Mmh. Something went wrong with '%s'. Nevermind. Let's keep going!", mailbox->get_cname());
break;
simgrid::s4u::this_actor::execute(comp_size);
XBT_INFO("Execution complete.");
delete payload;
- } catch (xbt_ex& e) {
- if (e.category == host_error) {
- XBT_INFO("Gloups. The cpu on which I'm running just turned off!. See you!");
- delete payload;
- return -1;
- } else
- xbt_die("Unexpected behavior");
+ } catch (simgrid::HostFailureException& e) {
+ delete payload;
+ XBT_INFO("Gloups. The cpu on which I'm running just turned off!. See you!");
+ return -1;
}
} catch (xbt_ex& e) {
switch (e.category) {
// We should wait a bit (if not the process will end before the communication, hence an exception on the other side).
try {
MSG_process_sleep(30);
- } catch (xbt_ex& e) {
- if (e.category == host_error) {
- XBT_INFO("The host has died ... as expected.");
- } else {
- XBT_ERROR("An unexpected exception has been raised.");
- throw;
- }
+ } catch (simgrid::HostFailureException& e) {
+ XBT_INFO("The host has died ... as expected.");
}
XBT_INFO(" TX done");
return 0;
XBT_INFO("Worker waiting");
try {
simgrid::s4u::this_actor::sleep_for(5);
- } catch (xbt_ex& e) {
- if (e.category == host_error) {
- XBT_INFO("The host has died ... as expected.");
- } else {
- XBT_ERROR("An unexpected exception has been raised.");
- throw;
- }
+ } catch (simgrid::HostFailureException& e) {
+ XBT_INFO("The host has died ... as expected.");
}
}