- if ((proc = (smx_actor_t) xbt_swag_extract(sem->sleeping))) {
- proc->waiting_synchro = nullptr;
- SIMIX_simcall_answer(&proc->simcall);
+ if (not sem->sleeping.empty()) {
+ auto& proc = sem->sleeping.front();
+ sem->sleeping.pop_front();
+ proc.waiting_synchro = nullptr;
+ SIMIX_simcall_answer(&proc.simcall);