/* If the mutex is not owned by the issuer, that's not good */
if (issuer != this->owner)
THROWF(mismatch_error, 0, "Cannot release that mutex: it was locked by %s (pid:%ld), not by you.",
- this->owner->name.c_str(),this->owner->pid);
+ this->owner->cname(), this->owner->pid);
if (xbt_swag_size(this->sleeping) > 0) {
/*process to wake up */
intrusive_ptr_release(mutex);
}
-smx_mutex_t simcall_HANDLER_mutex_init(smx_simcall_t simcall)
-{
- return new simgrid::simix::MutexImpl();
-}
-
// Simcall handlers:
void simcall_HANDLER_mutex_lock(smx_simcall_t simcall, smx_mutex_t mutex)
XBT_OUT();
}
-void simcall_HANDLER_sem_release(smx_simcall_t simcall, smx_sem_t sem){
- SIMIX_sem_release(sem);
-}
/** @brief release the semaphore
*
* Unlock a process waiting on the semaphore.
return (sem->value <= 0);
}
-int simcall_HANDLER_sem_get_capacity(smx_simcall_t simcall, smx_sem_t sem){
- return SIMIX_sem_get_capacity(sem);
-}
/** @brief Returns the current capacity of the semaphore */
int SIMIX_sem_get_capacity(smx_sem_t sem)
{
_SIMIX_sem_wait(sem, timeout, simcall->issuer, simcall);
XBT_OUT();
}
-int simcall_HANDLER_sem_would_block(smx_simcall_t simcall, smx_sem_t sem) {
- return SIMIX_sem_would_block(sem);
-}