From bf14d0a7cfb1c59f692cd24d9e97699b01e103b4 Mon Sep 17 00:00:00 2001 From: patacongo Date: Mon, 19 Mar 2007 14:22:43 +0000 Subject: Interrupts must be disabled in all low level context switches git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@89 42af7a65-404d-4744-a932-0658087f49c3 --- nuttx/sched/sched_setparam.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'nuttx/sched/sched_setparam.c') diff --git a/nuttx/sched/sched_setparam.c b/nuttx/sched/sched_setparam.c index c9a935a4d..52389ae49 100644 --- a/nuttx/sched/sched_setparam.c +++ b/nuttx/sched/sched_setparam.c @@ -175,7 +175,9 @@ int sched_setparam(pid_t pid, const struct sched_param *param) { /* A context switch will occur. */ + irqstate_t flags = irqsave(); up_reprioritize_rtr(tcb, (ubyte)sched_priority); + irqrestore(flags); } /* Otherwise, we can just change priority since it has no effect */ @@ -202,7 +204,9 @@ int sched_setparam(pid_t pid, const struct sched_param *param) { /* A context switch will occur. */ + irqstate_t flags = irqsave(); up_reprioritize_rtr(tcb, (ubyte)sched_priority); + irqrestore(flags); } /* Otherwise, we can just change priority and re-schedule (since it -- cgit v1.2.3