Jelajahi Sumber

Merge branch 'bugfix/backport_v4.0_fix_pthread_priority_inheritance' into 'release/v4.0'

bugfix/ pthread priority inheritance(backport v4.0)

See merge request espressif/esp-idf!11256
Jiang Jiang Jian 5 tahun lalu
induk
melakukan
ba4fc9c803
1 mengubah file dengan 9 tambahan dan 0 penghapusan
  1. 9 0
      components/pthread/pthread.c

+ 9 - 0
components/pthread/pthread.c

@@ -593,6 +593,15 @@ int pthread_mutex_destroy(pthread_mutex_t *mutex)
         return EBUSY;
         return EBUSY;
     }
     }
 
 
+    if (mux->type == PTHREAD_MUTEX_RECURSIVE) {
+        res = xSemaphoreGiveRecursive(mux->sem);
+    } else {
+        res = xSemaphoreGive(mux->sem);
+    }
+    if (res != pdTRUE) {
+        assert(false && "Failed to release mutex!");
+    }
+
     vSemaphoreDelete(mux->sem);
     vSemaphoreDelete(mux->sem);
     free(mux);
     free(mux);