aboutsummaryrefslogtreecommitdiff
path: root/kernel/kernel.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kernel.c')
-rw-r--r--kernel/kernel.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/kernel.c b/kernel/kernel.c
index 6954a10..1a39b2e 100644
--- a/kernel/kernel.c
+++ b/kernel/kernel.c
@@ -100,11 +100,12 @@ ISR(TIMER1_COMPB_vect, ISR_NAKED)
if ((tp = TAILQ_FIRST(&kern.rq))) {
TAILQ_REMOVE(&kern.rq, tp, r_link);
TAILQ_INSERT_TAIL(&kern.rq, tp, r_link);
- }
+ } else
+ tp = kern.idle;
/* switch context */
kern.cur->sp = SP;
- kern.cur = tp ? tp : kern.idle;
+ kern.cur = tp;
SP = kern.cur->sp;
/* set next task switch timeout */