From b5a933f5e08d4a47ab3ac8b3a7c381f53a057ddc Mon Sep 17 00:00:00 2001 From: Gabriel Corona Date: Fri, 24 Jul 2015 12:55:35 +0200 Subject: [PATCH] [mc] Cleanup/simplify liveness property automaton registration code There were remants of the standalone mode. --- src/mc/mc_global.cpp | 32 +++++++++++--------------------- src/mc/mc_server.cpp | 2 +- 2 files changed, 12 insertions(+), 22 deletions(-) diff --git a/src/mc/mc_global.cpp b/src/mc/mc_global.cpp index 5440a688e3..85a8ecd372 100644 --- a/src/mc/mc_global.cpp +++ b/src/mc/mc_global.cpp @@ -517,38 +517,28 @@ void MC_automaton_load(const char *file) xbt_automaton_load(_mc_property_automaton, file); } -static void register_symbol(xbt_automaton_propositional_symbol_t symbol) +void MC_automaton_new_propositional_symbol(const char *id, int(*fct)(void)) +{ + xbt_die("Support for client-side function proposition is not implemented: " + "use MC_automaton_new_propositional_symbol_pointer instead." + ); +} + +void MC_automaton_new_propositional_symbol_pointer(const char *name, int* value) { + xbt_assert(mc_mode != MC_MODE_SERVER); if (mc_mode != MC_MODE_CLIENT) return; s_mc_register_symbol_message_t message; message.type = MC_MESSAGE_REGISTER_SYMBOL; - const char* name = xbt_automaton_propositional_symbol_get_name(symbol); if (strlen(name) + 1 > sizeof(message.name)) xbt_die("Symbol is too long"); strncpy(message.name, name, sizeof(message.name)); - message.callback = xbt_automaton_propositional_symbol_get_callback(symbol); - message.data = xbt_automaton_propositional_symbol_get_data(symbol); + message.callback = nullptr; + message.data = value; MC_client_send_message(&message, sizeof(message)); } -void MC_automaton_new_propositional_symbol(const char *id, int(*fct)(void)) -{ - if (_mc_property_automaton == NULL) - _mc_property_automaton = xbt_automaton_new(); - - xbt_automaton_propositional_symbol_t symbol = xbt_automaton_propositional_symbol_new(_mc_property_automaton, id, fct); - register_symbol(symbol); -} - -void MC_automaton_new_propositional_symbol_pointer(const char *id, int* value) -{ - if (_mc_property_automaton == NULL) - _mc_property_automaton = xbt_automaton_new(); - xbt_automaton_propositional_symbol_t symbol = xbt_automaton_propositional_symbol_new_pointer(_mc_property_automaton, id, value); - register_symbol(symbol); -} - // TODO, fix cross-process access (this function is not used) void MC_dump_stacks(FILE* file) { diff --git a/src/mc/mc_server.cpp b/src/mc/mc_server.cpp index 8e5f940b9b..b869b19f7e 100644 --- a/src/mc/mc_server.cpp +++ b/src/mc/mc_server.cpp @@ -212,7 +212,7 @@ bool s_mc_server::handle_events() xbt_die("Broken message"); memcpy(&message, buffer, sizeof(message)); if (message.callback) - xbt_die("Support for callbacks/functions symbols not implemented in client/server mode."); + xbt_die("Support for client-side function proposition is not implemented."); XBT_DEBUG("Received symbol: %s", message.name); if (_mc_property_automaton == NULL) -- 2.20.1