src/xbt/xbt_sg_stubs.c
)
+set(SIMIX_GENERATED_SRC
+ src/simix/simcalls_generated_case.c
+ )
set(SIMIX_SRC
src/simix/smx_context.c
src/simix/smx_context_base.c
src/simix/smx_synchro.c
src/simix/smx_user.c
src/simix/smx_vm.c
+ ${SIMIX_GENERATED_SRC}
)
set(SIMGRID_SRC
write('simcalls_generated_string.c', Simcall.string, simcalls, simcalls_dict)
write('simcalls_generated_res_getter_setter.h', Simcall.result_getter_setter, simcalls, simcalls_dict)
write('simcalls_generated_args_getter_setter.h', Simcall.args_getter_setter, simcalls, simcalls_dict)
- write('simcalls_generated_case.c', Simcall.case, simcalls, simcalls_dict)
+
+
+ write('simcalls_generated_case.c', Simcall.case, simcalls, simcalls_dict,"""
+#include "smx_private.h"
+#ifdef HAVE_MC
+#include "mc/mc_private.h"
+#endif
+
+XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(simix_smurf);
+
+void SIMIX_simcall_pre(smx_simcall_t simcall, int value)
+{
+ XBT_DEBUG("Handling simcall %p: %s", simcall, SIMIX_simcall_name(simcall->call));
+ SIMCALL_SET_MC_VALUE(simcall, value);
+ if (simcall->issuer->context->iwannadie && simcall->call != SIMCALL_PROCESS_CLEANUP)
+ return;
+ switch (simcall->call) {
+ ""","""
+ case NUM_SIMCALLS:
+ break;
+ case SIMCALL_NONE:
+ THROWF(arg_error,0,"Asked to do the noop syscall on %s@%s",
+ SIMIX_process_get_name(simcall->issuer),
+ SIMIX_host_get_name(SIMIX_process_get_host(simcall->issuer))
+ );
+ break;
+
+ /* ****************************************************************************************** */
+ /* TUTORIAL: New API */
+ /* ****************************************************************************************** */
+ case SIMCALL_NEW_API_INIT:
+ SIMIX_pre_new_api_fct(simcall);
+ break;
+ }
+}
+ """)
+
+
write('simcalls_generated_body.c', Simcall.body, simcalls, simcalls_dict)
* in src/simix/simcalls.in *
*********************************************/
-case SIMCALL_HOST_GET_BY_NAME:
+
+#include "smx_private.h"
+#ifdef HAVE_MC
+#include "mc/mc_private.h"
+#endif
+
+XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(simix_smurf);
+
+void SIMIX_simcall_pre(smx_simcall_t simcall, int value)
+{
+ XBT_DEBUG("Handling simcall %p: %s", simcall, SIMIX_simcall_name(simcall->call));
+ SIMCALL_SET_MC_VALUE(simcall, value);
+ if (simcall->issuer->context->iwannadie && simcall->call != SIMCALL_PROCESS_CLEANUP)
+ return;
+ switch (simcall->call) {
+ case SIMCALL_HOST_GET_BY_NAME:
simcall->result.dp = SIMIX_pre_host_get_by_name(simcall , simcall->args[0].cc);
SIMIX_simcall_answer(simcall);
break;
break;
#endif
+
+ case NUM_SIMCALLS:
+ break;
+ case SIMCALL_NONE:
+ THROWF(arg_error,0,"Asked to do the noop syscall on %s@%s",
+ SIMIX_process_get_name(simcall->issuer),
+ SIMIX_host_get_name(SIMIX_process_get_host(simcall->issuer))
+ );
+ break;
+
+ /* ****************************************************************************************** */
+ /* TUTORIAL: New API */
+ /* ****************************************************************************************** */
+ case SIMCALL_NEW_API_INIT:
+ SIMIX_pre_new_api_fct(simcall);
+ break;
+ }
+}
+
\ No newline at end of file
}
}
-void SIMIX_simcall_pre(smx_simcall_t simcall, int value)
-{
- XBT_DEBUG("Handling simcall %p: %s", simcall, SIMIX_simcall_name(simcall->call));
- SIMCALL_SET_MC_VALUE(simcall, value);
- if (simcall->issuer->context->iwannadie && simcall->call != SIMCALL_PROCESS_CLEANUP)
- return;
- switch (simcall->call) {
-#include "simcalls_generated_case.c"
- case NUM_SIMCALLS:
- break;
- case SIMCALL_NONE:
- THROWF(arg_error,0,"Asked to do the noop syscall on %s@%s",
- SIMIX_process_get_name(simcall->issuer),
- SIMIX_host_get_name(SIMIX_process_get_host(simcall->issuer))
- );
- break;
-
- /* ****************************************************************************************** */
- /* TUTORIAL: New API */
- /* ****************************************************************************************** */
- case SIMCALL_NEW_API_INIT:
- SIMIX_pre_new_api_fct(simcall);
- break;
- }
-}
-
void SIMIX_simcall_post(smx_action_t action)
{
switch (action->type) {