-/* Copyright (c) 2007-2022. The SimGrid Team. All rights reserved. */
+/* Copyright (c) 2007-2023. 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. */
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 {