/* Context switching within the JVM. */
-/* Copyright (c) 2009-2018. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2009-2019. The SimGrid Team. All rights reserved. */
/* 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. */
JavaContextFactory::~JavaContextFactory()=default;
-JavaContext* JavaContextFactory::self()
-{
- return static_cast<JavaContext*>(xbt_os_thread_get_extra_data());
-}
-
JavaContext* JavaContextFactory::create_context(std::function<void()> code, void_pfn_smxprocess_t cleanup_fun,
smx_actor_t actor)
{
void JavaContext::start_hook()
{
- xbt_os_thread_set_extra_data(this); // We need to attach it also for maestro, in contrary to our ancestor
+ Context::set_current(this); // We need to attach it also for maestro, in contrary to our ancestor
//Attach the thread to the JVM
JNIEnv *env;
env->DeleteGlobalRef(this->jprocess_);
XBT_ATTRIB_UNUSED jint error = __java_vm->DetachCurrentThread();
xbt_assert((error == JNI_OK), "The thread couldn't be detached.");
- xbt_os_thread_exit(nullptr);
}
}