aboutsummaryrefslogtreecommitdiff
path: root/nuttx/sched/sched_setparam.c
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/sched/sched_setparam.c')
-rw-r--r--nuttx/sched/sched_setparam.c156
1 files changed, 0 insertions, 156 deletions
diff --git a/nuttx/sched/sched_setparam.c b/nuttx/sched/sched_setparam.c
deleted file mode 100644
index 6ea4e8f74..000000000
--- a/nuttx/sched/sched_setparam.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/****************************************************************************
- * sched/sched_setparam.c
- *
- * Copyright (C) 2007, 2009 Gregory Nutt. All rights reserved.
- * Author: Gregory Nutt <gnutt@nuttx.org>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. Neither the name NuttX nor the names of its contributors may be
- * used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
- * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- *
- ****************************************************************************/
-
-/****************************************************************************
- * Included Files
- ****************************************************************************/
-
-#include <nuttx/config.h>
-
-#include <sys/types.h>
-#include <sched.h>
-#include <errno.h>
-
-#include <nuttx/arch.h>
-
-#include "os_internal.h"
-
-/****************************************************************************
- * Definitions
- ****************************************************************************/
-
-/****************************************************************************
- * Private Type Declarations
- ****************************************************************************/
-
-/****************************************************************************
- * Global Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Variables
- ****************************************************************************/
-
-/****************************************************************************
- * Private Function Prototypes
- ****************************************************************************/
-
-/****************************************************************************
- * Private Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Public Functions
- ****************************************************************************/
-
-/****************************************************************************
- * Name: sched_setparam
- *
- * Description:
- * This function sets the priority of a specified task.
- *
- * NOTE: Setting a task's priority to the same value has a similar effect
- * to sched_yield() -- The task will be moved to after all other tasks
- * with the same priority.
- *
- * Inputs:
- * pid - the task ID of the task to reprioritize. If pid is zero, the
- * priority of the calling task is changed.
- * param - A structure whose member sched_priority is the integer priority.
- * The range of valid priority numbers is from SCHED_PRIORITY_MIN
- * through SCHED_PRIORITY_MAX.
- *
- * Return Value:
- * On success, sched_setparam() returns 0 (OK). On error, -1 (ERROR) is
- * returned, and errno is set appropriately.
- *
- * EINVAL The parameter 'param' is invalid or does not make sense for the
- * current scheduling policy.
- * EPERM The calling task does not have appropriate privileges.
- * ESRCH The task whose ID is pid could not be found.
- *
- * Assumptions:
- *
- ****************************************************************************/
-
-int sched_setparam(pid_t pid, const struct sched_param *param)
-{
- FAR _TCB *rtcb;
- FAR _TCB *tcb;
- int ret;
-
- /* Verify that the requested priority is in the valid range */
-
- if (!param)
- {
- errno = EINVAL;
- return ERROR;
- }
-
- /* Prohibit modifications to the head of the ready-to-run task
- * list while adjusting the priority
- */
-
- sched_lock();
-
- /* Check if the task to reprioritize is the calling task */
-
- rtcb = (FAR _TCB*)g_readytorun.head;
- if (pid == 0 || pid == rtcb->pid)
- {
- tcb = rtcb;
- }
-
- /* The pid is not the calling task, we will have to search for it */
-
- else
- {
- tcb = sched_gettcb(pid);
- if (!tcb)
- {
- /* No task with this pid was found */
-
- errno = ESRCH;
- sched_unlock();
- return ERROR;
- }
- }
-
- /* Then perform the reprioritization */
-
- ret = sched_reprioritize(tcb, param->sched_priority);
- sched_unlock();
- return ret;
-}