X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4b90ce2abff77ca7898fd9292a122440df739916..50102ec1c30562e20d450afa7015374387bf1904:/src/mc/remote/AppSide.cpp diff --git a/src/mc/remote/AppSide.cpp b/src/mc/remote/AppSide.cpp index 486a9c79fd..9a72d04aab 100644 --- a/src/mc/remote/AppSide.cpp +++ b/src/mc/remote/AppSide.cpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -48,7 +49,7 @@ AppSide* AppSide::initialize() xbt_assert(type == SOCK_SEQPACKET, "Unexpected socket type %i", type); XBT_DEBUG("Model-checked application found expected socket type"); - instance_.reset(new simgrid::mc::AppSide(fd)); + instance_ = std::make_unique(fd); // Wait for the model-checker: errno = 0; @@ -106,17 +107,17 @@ void AppSide::handle_actor_enabled(const s_mc_message_actor_enabled_t* msg) cons xbt_assert(received_size == sizeof(_type_), "Unexpected size for " _name_ " (%zd != %zu)", received_size, \ sizeof(_type_)) -void AppSide::handle_messages() +void AppSide::handle_messages() const { while (true) { XBT_DEBUG("Waiting messages from model-checker"); - char message_buffer[MC_MESSAGE_LENGTH]; - ssize_t received_size = channel_.receive(&message_buffer, sizeof(message_buffer)); + std::array message_buffer; + ssize_t received_size = channel_.receive(message_buffer.data(), message_buffer.size()); xbt_assert(received_size >= 0, "Could not receive commands from the model-checker"); - const s_mc_message_t* message = (s_mc_message_t*)message_buffer; + const s_mc_message_t* message = (s_mc_message_t*)message_buffer.data(); switch (message->type) { case MC_MESSAGE_DEADLOCK_CHECK: assert_msg_size("DEADLOCK_CHECK", s_mc_message_t); @@ -130,12 +131,12 @@ void AppSide::handle_messages() case MC_MESSAGE_SIMCALL_HANDLE: assert_msg_size("SIMCALL_HANDLE", s_mc_message_simcall_handle_t); - handle_simcall((s_mc_message_simcall_handle_t*)message_buffer); + handle_simcall((s_mc_message_simcall_handle_t*)message_buffer.data()); break; case MC_MESSAGE_ACTOR_ENABLED: assert_msg_size("ACTOR_ENABLED", s_mc_message_actor_enabled_t); - handle_actor_enabled((s_mc_message_actor_enabled_t*)message_buffer); + handle_actor_enabled((s_mc_message_actor_enabled_t*)message_buffer.data()); break; default: @@ -145,7 +146,7 @@ void AppSide::handle_messages() } } -void AppSide::main_loop() +void AppSide::main_loop() const { while (true) { simgrid::mc::wait_for_requests(); @@ -154,7 +155,7 @@ void AppSide::main_loop() } } -void AppSide::report_assertion_failure() +void AppSide::report_assertion_failure() const { if (channel_.send(MC_MESSAGE_ASSERTION_FAILED)) xbt_die("Could not send assertion to model-checker");