- if (comm_receive->test())
- delete static_cast<ChordMessage*>(data);
- else
- comm_receive->cancel();
+ try {
+ if (comm_receive->test())
+ delete static_cast<ChordMessage*>(data);
+ else
+ comm_receive->cancel();
+ } catch (const simgrid::TimeoutException&) {
+ XBT_DEBUG("Caught a timeout for last message, nevermind.");
+ }