Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
SIMIX_process_change_host becomes ActorImpl::change_host
[simgrid.git] / src / simix / smx_synchro.cpp
index cf91e4a..4658773 100644 (file)
@@ -1,15 +1,14 @@
-/* Copyright (c) 2007-2018. The SimGrid Team. All rights reserved.          */
+/* Copyright (c) 2007-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. */
 
-#include "smx_private.hpp"
 #include "src/kernel/activity/ConditionVariableImpl.hpp"
 #include "src/kernel/activity/MutexImpl.hpp"
 #include "src/kernel/activity/SynchroRaw.hpp"
+#include "src/kernel/context/Context.hpp"
 #include "src/simix/smx_synchro_private.hpp"
 #include "src/surf/cpu_interface.hpp"
-#include <xbt/ex.hpp>
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(simix_synchro, simix, "SIMIX Synchronization (mutex, semaphores and conditions)");
 
@@ -21,8 +20,8 @@ smx_activity_t SIMIX_synchro_wait(sg_host_t smx_host, double timeout)
 
   simgrid::kernel::activity::RawImplPtr sync =
       simgrid::kernel::activity::RawImplPtr(new simgrid::kernel::activity::RawImpl());
-  sync->sleep                          = smx_host->pimpl_cpu->sleep(timeout);
-  sync->sleep->set_data(sync.get());
+  sync->surf_action_ = smx_host->pimpl_cpu->sleep(timeout);
+  sync->surf_action_->set_data(sync.get());
   XBT_OUT();
   return sync;
 }
@@ -68,7 +67,7 @@ void SIMIX_synchro_finish(smx_activity_t synchro)
 
   if (synchro->state_ != SIMIX_SRC_TIMEOUT) {
     if (synchro->state_ == SIMIX_FAILED)
-      simcall->issuer->context_->iwannadie = 1;
+      simcall->issuer->context_->iwannadie = true;
     else
       THROW_IMPOSSIBLE;
   }
@@ -90,18 +89,6 @@ smx_sem_t SIMIX_sem_init(unsigned int value)
   return sem;
 }
 
-/** @brief Destroys a semaphore */
-void SIMIX_sem_destroy(smx_sem_t sem)
-{
-  XBT_IN("(%p)",sem);
-  XBT_DEBUG("Destroy semaphore %p", sem);
-  if (sem != nullptr) {
-    xbt_assert(sem->sleeping.empty(), "Cannot destroy semaphore since someone is still using it");
-    delete sem;
-  }
-  XBT_OUT();
-}
-
 /** @brief release the semaphore
  *
  * Unlock a process waiting on the semaphore.
@@ -158,7 +145,7 @@ static void _SIMIX_sem_wait(smx_sem_t sem, double timeout, smx_actor_t issuer,
 }
 
 /**
- * \brief Handles a sem acquire simcall without timeout.
+ * @brief Handles a sem acquire simcall without timeout.
  */
 void simcall_HANDLER_sem_acquire(smx_simcall_t simcall, smx_sem_t sem)
 {
@@ -168,7 +155,7 @@ void simcall_HANDLER_sem_acquire(smx_simcall_t simcall, smx_sem_t sem)
 }
 
 /**
- * \brief Handles a sem acquire simcall with timeout.
+ * @brief Handles a sem acquire simcall with timeout.
  */
 void simcall_HANDLER_sem_acquire_timeout(smx_simcall_t simcall, smx_sem_t sem, double timeout)
 {