|
SimGrid
3.14.159
Versatile Simulation of Distributed Systems
|
#include "smx_private.h"#include "xbt/fifo.h"#include "xbt/xbt_os_thread.h"#include "src/kernel/activity/SynchroExec.hpp"#include "src/kernel/activity/SynchroComm.hpp"#include "src/kernel/activity/SynchroSleep.hpp"#include "src/kernel/activity/SynchroRaw.hpp"#include "src/kernel/activity/SynchroIo.hpp"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... | |
| 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.
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.