X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/43f7ca1cac5ab1858e318fdd6239d0a0c3b3d893..51c23076e2b42ff07dc167dea1cb0e3a4ab3cf68:/src/mc/remote/Client.cpp diff --git a/src/mc/remote/Client.cpp b/src/mc/remote/Client.cpp index 9bfc523a19..4d009a3dc9 100644 --- a/src/mc/remote/Client.cpp +++ b/src/mc/remote/Client.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2015-2017. The SimGrid Team. All rights reserved. */ +/* Copyright (c) 2015-2018. The SimGrid Team. All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it * under the terms of the license (GNU LGPL) which comes with this package. */ @@ -12,21 +12,20 @@ #include #include -#include #include #include #include "src/internal_config.h" -#include "src/mc/mc_request.h" +#include "src/mc/mc_request.hpp" #include "src/mc/remote/Client.hpp" #include "src/mc/remote/mc_protocol.h" #include "src/smpi/include/private.hpp" // We won't need those once the separation MCer/MCed is complete: -#include "src/mc/mc_smx.h" +#include "src/mc/mc_smx.hpp" XBT_LOG_NEW_DEFAULT_SUBCATEGORY(mc_client, mc, "MC client logic"); @@ -61,7 +60,7 @@ Client* Client::initialize() socklen_t socklen = sizeof(type); if (getsockopt(fd, SOL_SOCKET, SO_TYPE, &type, &socklen) != 0) xbt_die("Could not check socket type"); - if (type != SOCK_DGRAM) + if (type != SOCK_SEQPACKET) xbt_die("Unexpected socket type %i", type); XBT_DEBUG("Model-checked application found expected socket type"); @@ -83,12 +82,12 @@ Client* Client::initialize() return instance_.get(); } -void Client::handleDeadlockCheck(mc_message_t* msg) +void Client::handleDeadlockCheck(s_mc_message_t* msg) { bool deadlock = false; if (not simix_global->process_list.empty()) { deadlock = true; - for (auto kv : simix_global->process_list) + for (auto const& kv : simix_global->process_list) if (simgrid::mc::actor_is_enabled(kv.second)) { deadlock = false; break; @@ -96,10 +95,10 @@ void Client::handleDeadlockCheck(mc_message_t* msg) } // Send result: - mc_message_int_t answer{MC_MESSAGE_DEADLOCK_CHECK_REPLY, deadlock}; + s_mc_message_int_t answer{MC_MESSAGE_DEADLOCK_CHECK_REPLY, deadlock}; xbt_assert(channel_.send(answer) == 0, "Could not send response"); } -void Client::handleContinue(mc_message_t* msg) +void Client::handleContinue(s_mc_message_t* msg) { /* Nothing to do */ } @@ -115,13 +114,13 @@ void Client::handleSimcall(s_mc_message_simcall_handle_t* message) void Client::handleRestore(s_mc_message_restore_t* message) { #if HAVE_SMPI - smpi_really_switch_data_segment(message->index); + smpi_really_switch_data_segment(simgrid::s4u::Actor::by_pid(message->index)); #endif } void Client::handleActorEnabled(s_mc_message_actor_enabled_t* msg) { bool res = simgrid::mc::actor_is_enabled(SIMIX_process_from_PID(msg->aid)); - s_mc_message_int answer{MC_MESSAGE_ACTOR_ENABLED_REPLY, res}; + s_mc_message_int_t answer{MC_MESSAGE_ACTOR_ENABLED_REPLY, res}; channel_.send(answer); } @@ -136,37 +135,37 @@ void Client::handleMessages() if (received_size < 0) xbt_die("Could not receive commands from the model-checker"); - mc_message_t* message = (mc_message_t*)message_buffer; + s_mc_message_t* message = (s_mc_message_t*)message_buffer; switch (message->type) { case MC_MESSAGE_DEADLOCK_CHECK: - xbt_assert(received_size == sizeof(mc_message_t), "Unexpected size for DEADLOCK_CHECK (%zu != %zu)", - received_size, sizeof(mc_message_t)); + xbt_assert(received_size == sizeof(s_mc_message_t), "Unexpected size for DEADLOCK_CHECK (%zd != %zu)", + received_size, sizeof(s_mc_message_t)); handleDeadlockCheck(message); break; case MC_MESSAGE_CONTINUE: - xbt_assert(received_size == sizeof(mc_message_t), "Unexpected size for MESSAGE_CONTINUE (%zu != %zu)", - received_size, sizeof(mc_message_t)); + xbt_assert(received_size == sizeof(s_mc_message_t), "Unexpected size for MESSAGE_CONTINUE (%zd != %zu)", + received_size, sizeof(s_mc_message_t)); handleContinue(message); return; case MC_MESSAGE_SIMCALL_HANDLE: xbt_assert(received_size == sizeof(s_mc_message_simcall_handle_t), - "Unexpected size for SIMCALL_HANDLE (%zu != %zu)", received_size, + "Unexpected size for SIMCALL_HANDLE (%zd != %zu)", received_size, sizeof(s_mc_message_simcall_handle_t)); handleSimcall((s_mc_message_simcall_handle_t*)message_buffer); break; case MC_MESSAGE_RESTORE: - xbt_assert(received_size == sizeof(mc_message_t), "Unexpected size for MESSAGE_RESTORE (%zu != %zu)", - received_size, sizeof(mc_message_t)); + xbt_assert(received_size == sizeof(s_mc_message_t), "Unexpected size for MESSAGE_RESTORE (%zd != %zu)", + received_size, sizeof(s_mc_message_t)); handleRestore((s_mc_message_restore_t*)message_buffer); break; case MC_MESSAGE_ACTOR_ENABLED: xbt_assert(received_size == sizeof(s_mc_message_actor_enabled_t), - "Unexpected size for ACTOR_ENABLED (%zu != %zu)", received_size, + "Unexpected size for ACTOR_ENABLED (%zd != %zu)", received_size, sizeof(s_mc_message_actor_enabled_t)); handleActorEnabled((s_mc_message_actor_enabled_t*)message_buffer); break; @@ -259,7 +258,7 @@ void Client::declareStack(void* stack, size_t size, smx_actor_t process, ucontex region.size = size; region.block = ((char*)stack - (char*)heap->heapbase) / BLOCKSIZE + 1; #if HAVE_SMPI - if (smpi_privatize_global_variables == SMPI_PRIVATIZE_MMAP && process) + if (smpi_privatize_global_variables == SmpiPrivStrategies::Mmap && process) region.process_index = process->pid - 1; else #endif