-/* Copyright (c) 2007-2019. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2007-2020. 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. */
class XBT_PUBLIC Context {
friend ContextFactory;
- static thread_local Context* current_;
-
std::function<void()> code_;
actor::ActorImpl* actor_ = nullptr;
void declare_context(std::size_t size);
virtual void suspend() = 0;
// Retrieving the self() context
- /** @brief Retrives the current context of this thread */
- static Context* self() { return current_; }
+ /** @brief Retrieves the current context of this thread */
+ static Context* self();
/** @brief Sets the current context of this thread */
- static void set_current(Context* self) { current_ = self; }
+ static void set_current(Context* self);
};
class XBT_PUBLIC AttachContext : public Context {
XBT_PUBLIC_DATA unsigned char sigsegv_stack[SIGSTKSZ];
#endif
-/** @brief Executes all the processes to run (in parallel if possible). */
-XBT_PRIVATE void SIMIX_context_runall();
-
-XBT_PUBLIC int SIMIX_process_get_maxpid();
-
XBT_PRIVATE simgrid::simix::ActorCodeFactory& SIMIX_get_actor_code_factory(const std::string& name);
#endif