pthread: fix pthread_mutex_destroy() breaking priority inheritance
This commit is contained in:
parent
95e43fc2c4
commit
22d636b7b0
|
@ -591,7 +591,12 @@ int pthread_mutex_destroy(pthread_mutex_t *mutex)
|
||||||
return EBUSY;
|
return EBUSY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// FreeRTOS mutex must not be deleted while taken (breaks priority inheritance):
|
||||||
|
vTaskSuspendAll();
|
||||||
|
pthread_mutex_unlock(mutex);
|
||||||
vSemaphoreDelete(mux->sem);
|
vSemaphoreDelete(mux->sem);
|
||||||
|
xTaskResumeAll();
|
||||||
|
|
||||||
free(mux);
|
free(mux);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue