Fix scheduler locking hierarchy

This commit is contained in:
2026-01-22 15:59:29 +01:00
parent fea0999726
commit c26fd3cb2b
6 changed files with 81 additions and 68 deletions

View File

@@ -48,22 +48,23 @@ void app_main (void) {
spawn (&app_thread1);
for (;;) {
/* lock_mutex (MUTEX, RV_PRIVATE); */
lock_mutex (MUTEX, RV_PRIVATE);
for (int i = 0; i < 3; i++)
test ('a');
/* unlock_mutex (MUTEX, RV_PRIVATE); */
unlock_mutex (MUTEX, RV_PRIVATE);
}
}
void app_thread1 (void) {
for (int i = 0; i < 3; i++)
test ('b');
for (;;) {
/* lock_mutex (MUTEX, RV_PRIVATE); */
lock_mutex (MUTEX, RV_PRIVATE);
/* unlock_mutex (MUTEX, RV_PRIVATE); */
for (int i = 0; i < 3; i++)
test ('b');
unlock_mutex (MUTEX, RV_PRIVATE);
}
quit ();