this->register_simcall(&issuer_->simcall_); // Block on that acquisition
if (mutex_->get_owner() == issuer_) { // I'm the owner
- finish();
+ post();
} else {
// Already in the queue
}
}
+void MutexAcquisitionImpl::post()
+{
+ finish();
+}
+
void MutexAcquisitionImpl::finish()
{
xbt_assert(simcalls_.size() == 1, "Unexpected number of simcalls waiting: %zu", simcalls_.size());
owner_ = acq->get_issuer();
if (acq == owner_->waiting_synchro_)
- acq->finish();
+ acq->post();
// else, the issuer is not blocked on this acquisition so no need to release it
} else {