xbt_swag_remove(proc, sem->sleeping);
xbt_swag_insert(proc, simix_global->process_to_run);
}
+ sem->capacity = SMX_SEM_NOLIMIT;
}
/**
xbt_swag_insert(self, sem->sleeping);
}
SIMIX_process_yield();
+ self->sem = NULL;
while (self->suspended)
SIMIX_process_yield();
/* one of the semaphore unsuspended us -- great, let's search which one (and get out of the others) */
- self->sem = NULL;
xbt_dynar_foreach(sems,counter,sem) {
if (xbt_swag_belongs(self,sem->sleeping))
xbt_swag_remove(self,sem->sleeping);