SimGrid  3.14.159
Versatile Simulation of Distributed Systems
popping.cpp File Reference

Functions

 XBT_LOG_NEW_DEFAULT_SUBCATEGORY (simix_popping, simix, "Popping part of SIMIX (transmuting from user request into kernel handlers)")
 
void SIMIX_simcall_answer (smx_simcall_t simcall)
 
void SIMIX_simcall_exit (smx_activity_t synchro)
 
void SIMIX_run_kernel (std::function< void()> const *code)
 
void SIMIX_run_blocking (std::function< void()> const *code)
 Kernel code for run_blocking. More...
 

Function Documentation

§ XBT_LOG_NEW_DEFAULT_SUBCATEGORY()

XBT_LOG_NEW_DEFAULT_SUBCATEGORY ( simix_popping  ,
simix  ,
"Popping part of SIMIX (transmuting from user request into kernel handlers)"   
)

§ SIMIX_simcall_answer()

void SIMIX_simcall_answer ( smx_simcall_t  simcall)

§ SIMIX_simcall_exit()

void SIMIX_simcall_exit ( smx_activity_t  synchro)

§ SIMIX_run_kernel()

void SIMIX_run_kernel ( std::function< void()> const *  code)

§ SIMIX_run_blocking()

void SIMIX_run_blocking ( std::function< void()> const *  code)

Kernel code for run_blocking.

The implementtion looks a lot like SIMIX_run_kernel ^^

However, this run_blocking is blocking so the process will not be woken up until SIMIX_simcall_answer(simcall)is called by the kernel. This means thatcode` is responsible for doing this.