#include <xbt/mmalloc.h>
#include <xbt/swag.h>
+#include <simgrid/modelchecker.h>
+
#include "src/internal_config.h"
#include "src/mc/mc_protocol.h"
if (client_)
return client_.get();
- // Check and set the mode:
- if (mc_mode != MC_MODE_NONE)
- abort();
- mc_mode = MC_MODE_CLIENT;
+ _sg_do_model_check = 1;
// Fetch socket from MC_ENV_SOCKET_FD:
char* fd_env = std::getenv(MC_ENV_SOCKET_FD);
if (s != sizeof(message))
xbt_die("Unexpected size for SIMCALL_HANDLE");
memcpy(&message, message_buffer, sizeof(message));
+#if HAVE_SMPI
smpi_really_switch_data_segment(message.index);
+#endif
}
break;
default:
- xbt_die("%s received unexpected message %s (%i)",
- MC_mode_name(mc_mode),
+ xbt_die("Received unexpected message %s (%i)",
MC_message_type_name(message.type),
message.type
);
void Client::mainLoop(void)
{
while (1) {
+ simgrid::mc::wait_for_requests();
if (channel_.send(MC_MESSAGE_WAITING))
xbt_die("Could not send WAITING mesage to model-checker");
this->handleMessages();
- simgrid::mc::wait_for_requests();
}
}