X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/1113792240aa3e88b1a2ba75474f338ad8db2ca2..d29ab72e79378eb7527238f5db164234f1c0cf8b:/src/mc/mc_private.h diff --git a/src/mc/mc_private.h b/src/mc/mc_private.h index 679ca45cea..4d2e916f8d 100644 --- a/src/mc/mc_private.h +++ b/src/mc/mc_private.h @@ -7,6 +7,8 @@ #ifndef MC_PRIVATE_H #define MC_PRIVATE_H +#include + #include "simgrid_config.h" #include #include @@ -21,29 +23,35 @@ #include "mc/datatypes.h" #include "xbt/fifo.h" #include "xbt/config.h" +#include +#include + #include "xbt/function_types.h" #include "xbt/mmalloc.h" #include "../simix/smx_private.h" #include "../xbt/mmalloc/mmprivate.h" #include "xbt/automaton.h" #include "xbt/hash.h" -#include "msg/msg.h" -#include "msg/datatypes.h" +#include #include "xbt/strbuff.h" #include "xbt/parmap.h" #include "mc_forward.h" +#include "mc_protocol.h" SG_BEGIN_DECL() typedef struct s_mc_function_index_item s_mc_function_index_item_t, *mc_function_index_item_t; -/****************************** Snapshots ***********************************/ - -extern xbt_dynar_t mc_checkpoint_ignore; - /********************************* MC Global **********************************/ +/** Initialisation of the model-checker + * + * @param pid PID of the target process + * @param socket FD for the communication socket **in server mode** (or -1 otherwise) + */ +void MC_init_pid(pid_t pid, int socket); + extern FILE *dot_output; extern const char* colors[13]; extern xbt_parmap_t parmap; @@ -51,11 +59,12 @@ extern xbt_parmap_t parmap; extern int user_max_depth_reached; int MC_deadlock_check(void); -void MC_replay(xbt_fifo_t stack, int start); -void MC_replay_liveness(xbt_fifo_t stack, int all_stack); +void MC_replay(xbt_fifo_t stack); +void MC_replay_liveness(xbt_fifo_t stack); void MC_show_deadlock(smx_simcall_t req); void MC_show_stack_safety(xbt_fifo_t stack); void MC_dump_stack_safety(xbt_fifo_t stack); +void MC_show_non_termination(void); /** Stack (of `mc_state_t`) representing the current position of the * the MC in the exploration graph @@ -88,8 +97,7 @@ typedef struct s_mc_comparison_times{ double nb_processes_comparison_time; double bytes_used_comparison_time; double stacks_sizes_comparison_time; - double binary_global_variables_comparison_time; - double libsimgrid_global_variables_comparison_time; + double global_variables_comparison_time; double heap_comparison_time; double stacks_comparison_time; }s_mc_comparison_times_t, *mc_comparison_times_t; @@ -136,15 +144,6 @@ bool mc_address_test(mc_address_set_t p, const void* value); * */ uint64_t mc_hash_processes_state(int num_state, xbt_dynar_t stacks); -/* *********** Snapshot *********** */ - -#define MC_LOG_REQUEST(log, req, value) \ - if (XBT_LOG_ISENABLED(log, xbt_log_priority_debug)) { \ - char* req_str = MC_request_to_string(req, value); \ - XBT_DEBUG("Execute: %s", req_str); \ - xbt_free(req_str); \ - } - /** @brief Dump the stacks of the application processes * * This functions is currently not used but it is quite convenient @@ -154,6 +153,8 @@ uint64_t mc_hash_processes_state(int num_state, xbt_dynar_t stacks); */ void MC_dump_stacks(FILE* file); +void MC_report_assertion_error(void); + SG_END_DECL() #endif