Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
populate the kernel/context directory
[simgrid.git] / src / simix / ContextThread.hpp
diff --git a/src/simix/ContextThread.hpp b/src/simix/ContextThread.hpp
deleted file mode 100644 (file)
index 77923bf..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Copyright (c) 2009-2015. 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. */
-
-/* \file ThreadContext.hpp Context switching with native threads */
-
-#ifndef SIMGRID_SIMIX_THREAD_CONTEXT_HPP
-#define SIMGRID_SIMIX_THREAD_CONTEXT_HPP
-
-#include <simgrid/simix.hpp>
-
-
-namespace simgrid {
-namespace simix {
-
-class ThreadContext;
-class ThreadContextFactory;
-
-class ThreadContext : public AttachContext {
-public:
-  friend ThreadContextFactory;
-  ThreadContext(std::function<void()> code,
-          void_pfn_smxprocess_t cleanup_func,
-          smx_process_t process, bool maestro =false);
-  ~ThreadContext() override;
-  void stop() override;
-  void suspend() override;
-  void attach_start() override;
-  void attach_stop() override;
-private:
-  /** A portable thread */
-  xbt_os_thread_t thread_ = nullptr;
-  /** Semaphore used to schedule/yield the process */
-  xbt_os_sem_t begin_ = nullptr;
-  /** Semaphore used to schedule/unschedule */
-  xbt_os_sem_t end_ = nullptr;
-private:
-  static void* wrapper(void *param);
-  static void* maestro_wrapper(void *param);
-public:
-  void start();
-};
-
-class ThreadContextFactory : public ContextFactory {
-public:
-  ThreadContextFactory();
-  ~ThreadContextFactory() override;
-  ThreadContext* create_context(std::function<void()> code,
-    void_pfn_smxprocess_t cleanup_func,  smx_process_t process) override;
-  void run_all() override;
-  ThreadContext* self() override;
-
-  // Optional methods:
-  ThreadContext* attach(void_pfn_smxprocess_t cleanup_func, smx_process_t process) override;
-  ThreadContext* create_maestro(std::function<void()> code, smx_process_t process) override;
-};
-
-}
-}
-
-#endif
\ No newline at end of file