SIMIX_simcall_answer(simcall);
break;
+#ifdef HAVE_MC
case SIMCALL_MC_SNAPSHOT:
simcall->mc_snapshot.s = MC_take_snapshot_liveness();
SIMIX_simcall_answer(simcall);
snapshot_compare(simcall->mc_compare_snapshots.snapshot1, simcall->mc_compare_snapshots.snapshot2);
SIMIX_simcall_answer(simcall);
break;
-
+#endif /* HAVE_MC */
+
case SIMCALL_NONE:
THROWF(arg_error,0,"Asked to do the noop syscall on %s@%s",
SIMIX_process_get_name(simcall->issuer),
SIMCALL_ENUM_ELEMENT(SIMCALL_FILE_UNLINK),\
SIMCALL_ENUM_ELEMENT(SIMCALL_FILE_LS),\
SIMCALL_ENUM_ELEMENT(SIMCALL_ASR_GET_PROPERTIES), \
-SIMCALL_ENUM_ELEMENT(SIMCALL_MC_SNAPSHOT), \
-SIMCALL_ENUM_ELEMENT(SIMCALL_MC_COMPARE_SNAPSHOTS), \
/* ****************************************************************************************** */ \
/* TUTORIAL: New API */ \
/* ****************************************************************************************** */ \
#define SIMCALL_LIST3
#endif
+#ifdef HAVE_MC
+#define SIMCALL_LIST4 \
+ ,SIMCALL_ENUM_ELEMENT(SIMCALL_MC_SNAPSHOT) \
+ ,SIMCALL_ENUM_ELEMENT(SIMCALL_MC_COMPARE_SNAPSHOTS)
+#else
+#define SIMCALL_LIST4
+#endif
+
/* SIMCALL_LIST is the final macro to use */
-#define SIMCALL_LIST SIMCALL_LIST1 SIMCALL_LIST2 SIMCALL_LIST3
+#define SIMCALL_LIST SIMCALL_LIST1 SIMCALL_LIST2 SIMCALL_LIST3 SIMCALL_LIST4
/* you can redefine the following macro differently to generate something else
* with the list of enumeration values (e.g. a table of strings or a table of function pointers) */
return simcall->file_ls.result;
}
+#ifdef HAVE_MC
+
void *simcall_mc_snapshot(void)
{
smx_simcall_t simcall = SIMIX_simcall_mine();
return simcall->mc_compare_snapshots.result;
}
+#endif /* HAVE_MC */
/* ****************************************************************************************** */
/* TUTORIAL: New API */