Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
typo spotted by Henri during a call
[simgrid.git] / src / kernel / activity / CommImpl.cpp
index 67ef311..ca40f6a 100644 (file)
@@ -8,9 +8,6 @@
 #include <simgrid/modelchecker.h>
 #include <simgrid/s4u/Host.hpp>
 
-#define SIMIX_H_NO_DEPRECATED_WARNING // avoid deprecation warning on include (remove with XBT_ATTRIB_DEPRECATED_v333)
-#include <simgrid/simix.h>
-
 #include "src/kernel/EngineImpl.hpp"
 #include "src/kernel/activity/CommImpl.hpp"
 #include "src/kernel/activity/MailboxImpl.hpp"
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(ker_network, kernel, "Kernel network-related synchronization");
 
-/******************************************************************************/
-/*                    SIMIX_comm_copy_data callbacks                       */
-/******************************************************************************/
-// XBT_ATTRIB_DEPRECATED_v333
-void SIMIX_comm_set_copy_data_callback(void (*callback)(simgrid::kernel::activity::CommImpl*, void*, size_t))
-{
-  simgrid::kernel::activity::CommImpl::set_copy_data_callback(callback);
-}
-
-// XBT_ATTRIB_DEPRECATED_v333
-void SIMIX_comm_copy_buffer_callback(simgrid::kernel::activity::CommImpl* comm, void* buff, size_t buff_size)
-{
-  simgrid::s4u::Comm::copy_buffer_callback(comm, buff, buff_size);
-}
-
-// XBT_ATTRIB_DEPRECATED_v333
-void SIMIX_comm_copy_pointer_callback(simgrid::kernel::activity::CommImpl* comm, void* buff, size_t buff_size)
-{
-  simgrid::s4u::Comm::copy_pointer_callback(comm, buff, buff_size);
-}
-
 namespace simgrid::kernel::activity {
 xbt::signal<void(CommImpl const&)> CommImpl::on_start;
 xbt::signal<void(CommImpl const&)> CommImpl::on_completion;
@@ -64,7 +40,7 @@ CommImpl& CommImpl::set_source(s4u::Host* from)
 {
   xbt_assert( from_ == nullptr );
   from_ = from;
-  hosts_.push_back(from);
+  add_host(from);
   return *this;
 }
 
@@ -72,7 +48,7 @@ CommImpl& CommImpl::set_destination(s4u::Host* to)
 {
   xbt_assert( to_ == nullptr );
   to_ = to;
-  hosts_.push_back(to_);
+  add_host(to_);
   return *this;
 }
 
@@ -112,6 +88,7 @@ CommImpl& CommImpl::set_dst_buff(unsigned char* buff, size_t* size)
 CommImpl& CommImpl::detach()
 {
   detached_ = true;
+  EngineImpl::get_instance()->get_maestro()->activities_.emplace_back(this);
   return *this;
 }
 
@@ -167,7 +144,7 @@ CommImpl* CommImpl::start()
     } else if ((src_actor_ != nullptr && src_actor_->is_suspended()) ||
                (dst_actor_ != nullptr && dst_actor_->is_suspended())) {
       /* If any of the actor is suspended, create the synchro but stop its execution,
-         it will be restarted when the sender actor resume */
+         it will be restarted when the sender actor resumes */
       if (src_actor_->is_suspended())
         XBT_DEBUG("The communication is suspended on startup because src (%s@%s) was suspended since it initiated the "
                   "communication",
@@ -541,6 +518,9 @@ void CommImpl::finish()
   if (get_state() == State::DONE)
     copy_data();
 
+  if (detached_)
+    EngineImpl::get_instance()->get_maestro()->activities_.remove(this);
+
   while (not simcalls_.empty()) {
     actor::Simcall* simcall = simcalls_.front();
     simcalls_.pop_front();