/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
/* This program is free software; you can redistribute it and/or modify it
* under the terms of the license (GNU LGPL) which comes with this package. */
smx_context_t SIMIX_context_new(
std::function<void()> code,
void_pfn_smxprocess_t cleanup_func,
smx_context_t SIMIX_context_new(
std::function<void()> code,
void_pfn_smxprocess_t cleanup_func,
{
xbt_assert(simix_global, "simix is not initialized, please call MSG_init first");
return simix_global->context_factory->create_context(
{
xbt_assert(simix_global, "simix is not initialized, please call MSG_init first");
return simix_global->context_factory->create_context(
/* Store the address of the stack in heap to compare it apart of heap comparison */
if(MC_is_active())
MC_ignore_heap(context, size);
#endif
}
/* Store the address of the stack in heap to compare it apart of heap comparison */
if(MC_is_active())
MC_ignore_heap(context, size);
#endif
}
{
xbt_die("Cannot attach with this ContextFactory.\n"
"Try using --cfg=contexts/factory:thread instead.\n");
}
{
xbt_die("Cannot attach with this ContextFactory.\n"
"Try using --cfg=contexts/factory:thread instead.\n");
}
{
xbt_die("Cannot create_maestro with this ContextFactory.\n"
"Try using --cfg=contexts/factory:thread instead.\n");
}
Context::Context(std::function<void()> code,
{
xbt_die("Cannot create_maestro with this ContextFactory.\n"
"Try using --cfg=contexts/factory:thread instead.\n");
}
Context::Context(std::function<void()> code,
: code_(std::move(code)), process_(process), iwannadie(false)
{
/* If the user provided a function for the process then use it.
: code_(std::move(code)), process_(process), iwannadie(false)
{
/* If the user provided a function for the process then use it.