diff --git a/src/system/kernel/sem.cpp b/src/system/kernel/sem.cpp index 8f7be82303..fb8f3c4488 100644 --- a/src/system/kernel/sem.cpp +++ b/src/system/kernel/sem.cpp @@ -355,7 +355,7 @@ delete_sem_internal(sem_id id, bool checkPermission) int32 slot = id % sMaxSems; - InterruptsLocker _; + InterruptsLocker interruptsLocker; SpinLocker listLocker(sSemsSpinlock); SpinLocker semLocker(sSems[slot].lock); @@ -386,6 +386,8 @@ delete_sem_internal(sem_id id, bool checkPermission) scheduler_reschedule_if_necessary_locked(); schedulerLocker.Unlock(); + interruptsLocker.Unlock(); + free(name); return B_OK; }