diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/cpu/irq.c | 1 | ||||
-rw-r--r-- | src/sys/schedule.c | 4 | ||||
-rw-r--r-- | src/tests/test.c | 4 |
3 files changed, 5 insertions, 4 deletions
diff --git a/src/cpu/irq.c b/src/cpu/irq.c index 6a5b43f..694742a 100644 --- a/src/cpu/irq.c +++ b/src/cpu/irq.c @@ -33,6 +33,7 @@ void c_irq_handler(void) // Handle the recieved data // Ctrl+T to toggle timer if(data == 0x14) { + uart_scheduler(); unsigned long timer_status; asm volatile("mrc p15, 0, %0, c14, c3, 1" : "=r"(timer_status)); if(timer_status == 0) { diff --git a/src/sys/schedule.c b/src/sys/schedule.c index 748f7ed..4f8feff 100644 --- a/src/sys/schedule.c +++ b/src/sys/schedule.c @@ -454,8 +454,8 @@ void sched_mutex_resurrect(void* m) // Restore the original priority level if (op != 0xFF) { struct Entry* tentry = pop_thread_from_queue(THREAD_READY, p); - ((struct Thread*)entry->value)->priority = op; - ((struct Thread*)entry->value)->old_priority = 0xFF; + ((struct Thread*)tentry->value)->priority = op; + ((struct Thread*)tentry->value)->old_priority = 0xFF; prepend_thread_to_queue(tentry->value, THREAD_READY, op); } } diff --git a/src/tests/test.c b/src/tests/test.c index 1bc6c9a..0c3ffb0 100644 --- a/src/tests/test.c +++ b/src/tests/test.c @@ -148,6 +148,6 @@ void btest(void) { x = 0; add_thread(ctest1, 0, 3); - //add_thread(stest1, 0, 6); - //add_thread(stest2, 0, 7); + add_thread(stest1, 0, 6); + add_thread(stest2, 0, 7); } |