From: sunghan Date: Wed, 22 Feb 2017 04:55:38 +0000 (+0900) Subject: check a priority requested before filling tcb X-Git-Tag: 1.1_Public_Release~658 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=ae53bd9ff7a918640f1c10becf6f9580e35fa1dc;p=rtos%2Ftinyara.git check a priority requested before filling tcb Change-Id: Ie0787ea2ced7f5f07619fab8d57903283339b48f --- diff --git a/os/kernel/task/task_setup.c b/os/kernel/task/task_setup.c index ce7e115..ba0327d 100644 --- a/os/kernel/task/task_setup.c +++ b/os/kernel/task/task_setup.c @@ -354,6 +354,14 @@ static int thread_schedsetup(FAR struct tcb_s *tcb, int priority, start_t start, if (ret == OK) { /* Save task priority and entry point in the TCB */ + if (priority < SCHED_PRIORITY_MIN) { + svdbg("WARNING: Requested priority is lower than min value (1)\n"); + priority = SCHED_PRIORITY_MIN; + } else if (priority > SCHED_PRIORITY_MAX) { + svdbg("WARNING: Requested priority is higher than max value (255)\n"); + priority = SCHED_PRIORITY_MAX; + } + tcb->sched_priority = (uint8_t)priority; #ifdef CONFIG_PRIORITY_INHERITANCE tcb->base_priority = (uint8_t)priority;