-/* Copyright (c) 2009-2017. The SimGrid Team.
- * All rights reserved. */
+/* Copyright (c) 2009-2018. 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. */
#ifndef SIMGRID_SIMIX_THREAD_CONTEXT_HPP
#define SIMGRID_SIMIX_THREAD_CONTEXT_HPP
-#include <simgrid/simix.hpp>
-
+#include "simgrid/simix.hpp"
+#include "src/kernel/context/Context.hpp"
+#include "xbt/xbt_os_thread.h"
namespace simgrid {
namespace kernel {
void attach_start() override;
void attach_stop() override;
- bool isMaestro() const { return is_maestro_; }
+ bool is_maestro() const { return is_maestro_; }
void release(); // unblock context's start()
void wait(); // wait for context's yield()
void start(); // match a call to release()
void yield(); // match a call to yield()
- virtual void start_hook() { /* empty placeholder, called after start() */}
- virtual void yield_hook() { /* empty placeholder, called before yield() */}
+ virtual void start_hook() { /* empty placeholder, called after start(). Used in parallel mode and Java */}
+ virtual void yield_hook() { /* empty placeholder, called before yield(). Used in parallel mode */}
static void* wrapper(void *param);
};