#include <xbt/function_types.h>
-#include <simix/simix.h>
+#include <simgrid/simix.h>
#include "smx_context_java.h"
#include "xbt/dynar.h"
static smx_context_t my_current_context = NULL;
-static smx_context_t smx_ctx_java_self(void);
static smx_context_t
smx_ctx_java_factory_create_context(xbt_main_func_t code, int argc,
char **argv,
(*factory)->get_data = smx_ctx_base_get_data;
}
-static smx_context_t smx_ctx_java_self(void)
+smx_context_t smx_ctx_java_self(void)
{
return my_current_context;
}
context->jenv = get_current_thread_env();
jprocess_start(((smx_ctx_java_t) context)->jprocess,
get_current_thread_env());
- }else{
+ }
+ else {
my_current_context = (smx_context_t)context;
}
context->super.data = data;
smx_ctx_base_free(context);
}
+
void smx_ctx_java_stop(smx_context_t context)
{
- xbt_assert(context == my_current_context,
- "The context to stop must be the current one");
+ xbt_assert(context == my_current_context,
+ "The context to stop must be the current one");
/* I am the current process and I am dying */
+
smx_ctx_base_stop(context);
XBT_DEBUG("I am dying");
/* suspend myself again, smx_ctx_java_free() will destroy me later
* from maeastro */
jprocess_unschedule(context);
- xbt_die("This function was not supposed to return");
+ XBT_DEBUG("Java stop finished");
}
static void smx_ctx_java_suspend(smx_context_t context)