virtual void finish() = 0; // Unlock all simcalls blocked on that activity, either because it was marked as done by
// the model or because it terminated without waiting for the model
- virtual void register_simcall(smx_simcall_t simcall);
+ void register_simcall(smx_simcall_t simcall);
void unregister_simcall(smx_simcall_t simcall);
void clean_action();
virtual double get_remaining() const;
/* Somebody using the mutex, use a synchronization to get host failures */
synchro = RawImplPtr(new RawImpl([this, issuer]() { this->remove_sleeping_actor(*issuer); }));
(*synchro).set_host(issuer->get_host()).start();
- synchro->simcalls_.push_back(&issuer->simcall_);
- issuer->waiting_synchro_ = synchro;
+ synchro->register_simcall(&issuer->simcall_);
sleeping_.push_back(*issuer);
} else {
/* mutex free */