mirror of
https://github.com/apache/nuttx.git
synced 2026-05-31 23:40:19 +08:00
Move task control files from sched/ to sched/task
This commit is contained in:
@@ -45,6 +45,7 @@
|
|||||||
#include <8052.h>
|
#include <8052.h>
|
||||||
#include <nuttx/arch.h>
|
#include <nuttx/arch.h>
|
||||||
|
|
||||||
|
#include "task/task.h"
|
||||||
#include "os_internal.h"
|
#include "os_internal.h"
|
||||||
#include "up_internal.h"
|
#include "up_internal.h"
|
||||||
|
|
||||||
|
|||||||
@@ -43,13 +43,14 @@
|
|||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
#include <nuttx/arch.h>
|
#include <nuttx/arch.h>
|
||||||
|
|
||||||
#include "os_internal.h"
|
|
||||||
#include "up_internal.h"
|
|
||||||
|
|
||||||
#ifdef CONFIG_DUMP_ON_EXIT
|
#ifdef CONFIG_DUMP_ON_EXIT
|
||||||
#include <nuttx/fs/fs.h>
|
#include <nuttx/fs/fs.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "task/task.h"
|
||||||
|
#include "os_internal.h"
|
||||||
|
#include "up_internal.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -43,13 +43,14 @@
|
|||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
#include <nuttx/arch.h>
|
#include <nuttx/arch.h>
|
||||||
|
|
||||||
#include "os_internal.h"
|
|
||||||
#include "up_internal.h"
|
|
||||||
|
|
||||||
#ifdef CONFIG_DUMP_ON_EXIT
|
#ifdef CONFIG_DUMP_ON_EXIT
|
||||||
#include <nuttx/fs/fs.h>
|
#include <nuttx/fs/fs.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "task/task.h"
|
||||||
|
#include "os_internal.h"
|
||||||
|
#include "up_internal.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -43,13 +43,14 @@
|
|||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
#include <nuttx/arch.h>
|
#include <nuttx/arch.h>
|
||||||
|
|
||||||
#include "os_internal.h"
|
|
||||||
#include "up_internal.h"
|
|
||||||
|
|
||||||
#ifdef CONFIG_DUMP_ON_EXIT
|
#ifdef CONFIG_DUMP_ON_EXIT
|
||||||
#include <nuttx/fs/fs.h>
|
#include <nuttx/fs/fs.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "task/task.h"
|
||||||
|
#include "os_internal.h"
|
||||||
|
#include "up_internal.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -45,13 +45,14 @@
|
|||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
#include <nuttx/arch.h>
|
#include <nuttx/arch.h>
|
||||||
|
|
||||||
#include "os_internal.h"
|
|
||||||
#include "up_internal.h"
|
|
||||||
|
|
||||||
#ifdef CONFIG_DUMP_ON_EXIT
|
#ifdef CONFIG_DUMP_ON_EXIT
|
||||||
#include <nuttx/fs/fs.h>
|
#include <nuttx/fs/fs.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "task/task.h"
|
||||||
|
#include "os_internal.h"
|
||||||
|
#include "up_internal.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -52,11 +52,12 @@
|
|||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <arch/irq.h>
|
#include <arch/irq.h>
|
||||||
#include <arch/arch.h>
|
#include <arch/arch.h>
|
||||||
#include <os_internal.h>
|
|
||||||
|
#include "task/task.h"
|
||||||
|
#include "os_internal.h"
|
||||||
|
|
||||||
struct tcb_s *current_task = NULL;
|
struct tcb_s *current_task = NULL;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This function is called in non-interrupt context
|
* This function is called in non-interrupt context
|
||||||
* to switch tasks.
|
* to switch tasks.
|
||||||
|
|||||||
@@ -44,13 +44,14 @@
|
|||||||
|
|
||||||
#include <nuttx/arch.h>
|
#include <nuttx/arch.h>
|
||||||
|
|
||||||
#include "os_internal.h"
|
|
||||||
#include "up_internal.h"
|
|
||||||
|
|
||||||
#ifdef CONFIG_DUMP_ON_EXIT
|
#ifdef CONFIG_DUMP_ON_EXIT
|
||||||
#include <nuttx/fs/fs.h>
|
#include <nuttx/fs/fs.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "task/task.h"
|
||||||
|
#include "os_internal.h"
|
||||||
|
#include "up_internal.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Definitions
|
* Private Definitions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -44,6 +44,7 @@
|
|||||||
|
|
||||||
#include <nuttx/arch.h>
|
#include <nuttx/arch.h>
|
||||||
|
|
||||||
|
#include "task/task.h"
|
||||||
#include "os_internal.h"
|
#include "os_internal.h"
|
||||||
#include "up_internal.h"
|
#include "up_internal.h"
|
||||||
|
|
||||||
|
|||||||
@@ -43,13 +43,14 @@
|
|||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
#include <nuttx/arch.h>
|
#include <nuttx/arch.h>
|
||||||
|
|
||||||
#include "os_internal.h"
|
|
||||||
#include "up_internal.h"
|
|
||||||
|
|
||||||
#ifdef CONFIG_DUMP_ON_EXIT
|
#ifdef CONFIG_DUMP_ON_EXIT
|
||||||
#include <nuttx/fs/fs.h>
|
#include <nuttx/fs/fs.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "task/task.h"
|
||||||
|
#include "os_internal.h"
|
||||||
|
#include "up_internal.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -44,14 +44,15 @@
|
|||||||
|
|
||||||
#include <nuttx/arch.h>
|
#include <nuttx/arch.h>
|
||||||
|
|
||||||
#include "chip/chip.h"
|
|
||||||
#include "os_internal.h"
|
|
||||||
#include "up_internal.h"
|
|
||||||
|
|
||||||
#ifdef CONFIG_DUMP_ON_EXIT
|
#ifdef CONFIG_DUMP_ON_EXIT
|
||||||
#include <nuttx/fs/fs.h>
|
#include <nuttx/fs/fs.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "chip/chip.h"
|
||||||
|
#include "task/task.h"
|
||||||
|
#include "os_internal.h"
|
||||||
|
#include "up_internal.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Definitions
|
* Private Definitions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -45,14 +45,15 @@
|
|||||||
|
|
||||||
#include <nuttx/arch.h>
|
#include <nuttx/arch.h>
|
||||||
|
|
||||||
#include "chip/chip.h"
|
|
||||||
#include "os_internal.h"
|
|
||||||
#include "up_internal.h"
|
|
||||||
|
|
||||||
#ifdef CONFIG_DUMP_ON_EXIT
|
#ifdef CONFIG_DUMP_ON_EXIT
|
||||||
#include <nuttx/fs/fs.h>
|
#include <nuttx/fs/fs.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "chip/chip.h"
|
||||||
|
#include "task/task.h"
|
||||||
|
#include "os_internal.h"
|
||||||
|
#include "up_internal.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Definitions
|
* Private Definitions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
+9
-26
@@ -40,31 +40,10 @@ DEPPATH = --dep-path .
|
|||||||
|
|
||||||
ASRCS =
|
ASRCS =
|
||||||
|
|
||||||
TSK_SRCS = prctl.c exit.c getpid.c
|
|
||||||
TSK_SRCS += task_create.c task_init.c task_setup.c task_activate.c task_start.c
|
|
||||||
TSK_SRCS += task_delete.c task_exit.c task_exithook.c task_recover.c
|
|
||||||
TSK_SRCS += task_restart.c task_spawn.c task_spawnparms.c task_terminate.c
|
|
||||||
TSK_SRCS += sched_addreadytorun.c sched_removereadytorun.c sched_addprioritized.c
|
|
||||||
TSK_SRCS += sched_mergepending.c sched_addblocked.c sched_removeblocked.c
|
|
||||||
TSK_SRCS += sched_free.c sched_gettcb.c sched_verifytcb.c sched_releasetcb.c
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_ARCH_HAVE_VFORK),y)
|
|
||||||
ifeq ($(CONFIG_SCHED_WAITPID),y)
|
|
||||||
TSK_SRCS += task_vfork.c
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifneq ($(CONFIG_BINFMT_DISABLE),y)
|
|
||||||
ifeq ($(CONFIG_LIBC_EXECFUNCS),y)
|
|
||||||
TSK_SRCS += task_posixspawn.c
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifeq ($(CONFIG_SCHED_STARTHOOK),y)
|
|
||||||
TSK_SRCS += task_starthook.c
|
|
||||||
endif
|
|
||||||
|
|
||||||
SCHED_SRCS = sched_garbage.c sched_getfiles.c
|
SCHED_SRCS = sched_garbage.c sched_getfiles.c
|
||||||
|
SCHED_SRCS += sched_addreadytorun.c sched_removereadytorun.c sched_addprioritized.c
|
||||||
|
SCHED_SRCS += sched_mergepending.c sched_addblocked.c sched_removeblocked.c
|
||||||
|
SCHED_SRCS += sched_free.c sched_gettcb.c sched_verifytcb.c sched_releasetcb.c
|
||||||
SCHED_SRCS += sched_getsockets.c sched_getstreams.c
|
SCHED_SRCS += sched_getsockets.c sched_getstreams.c
|
||||||
SCHED_SRCS += sched_setparam.c sched_setpriority.c sched_getparam.c
|
SCHED_SRCS += sched_setparam.c sched_setpriority.c sched_getparam.c
|
||||||
SCHED_SRCS += sched_setscheduler.c sched_getscheduler.c
|
SCHED_SRCS += sched_setscheduler.c sched_getscheduler.c
|
||||||
@@ -108,6 +87,7 @@ include init/Make.defs
|
|||||||
include irq/Make.defs
|
include irq/Make.defs
|
||||||
include paging/Make.defs
|
include paging/Make.defs
|
||||||
include group/Make.defs
|
include group/Make.defs
|
||||||
|
include task/Make.defs
|
||||||
include errno/Make.defs
|
include errno/Make.defs
|
||||||
include wdog/Make.defs
|
include wdog/Make.defs
|
||||||
include semaphore/Make.defs
|
include semaphore/Make.defs
|
||||||
@@ -118,8 +98,11 @@ include clock/Make.defs
|
|||||||
include timer/Make.defs
|
include timer/Make.defs
|
||||||
include environ/Make.defs
|
include environ/Make.defs
|
||||||
|
|
||||||
CSRCS = $(INIT_SRCS) $(IRQ_SRCS) $(PG_SRCS) $(GRP_SRCS) $(TSK_SRCS)
|
# REVISIT
|
||||||
CSRCS += $(SCHED_SRCS) $(ERRNO_SRCS) $(WDOG_SRCS) $(SEM_SRCS)
|
TSK_SRCS += prctl.c exit.c getpid.c
|
||||||
|
|
||||||
|
CSRCS = $(INIT_SRCS) $(IRQ_SRCS) $(PG_SRCS) $(GRP_SRCS) $(SCHED_SRCS)
|
||||||
|
CSRCS += $(TSK_SRCS) $(ERRNO_SRCS) $(WDOG_SRCS) $(SEM_SRCS)
|
||||||
CSRCS += $(SIGNAL_SRCS) $(PTHREAD_SRCS) $(MQUEUE_SRCS) $(CLOCK_SRCS)
|
CSRCS += $(SIGNAL_SRCS) $(PTHREAD_SRCS) $(MQUEUE_SRCS) $(CLOCK_SRCS)
|
||||||
CSRCS += $(TIMER_SRCS) $(ENV_SRCS)
|
CSRCS += $(TIMER_SRCS) $(ENV_SRCS)
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -46,10 +46,11 @@
|
|||||||
|
|
||||||
#include <nuttx/fs/fs.h>
|
#include <nuttx/fs/fs.h>
|
||||||
|
|
||||||
|
#include "task/task.h"
|
||||||
#include "os_internal.h"
|
#include "os_internal.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Definitions
|
* Pre-processor Definitions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
GRP_SRCS = group_create.c group_join.c group_leave.c group_find.c
|
GRP_SRCS = group_create.c group_join.c group_leave.c group_find.c
|
||||||
GRP_SRCS += group_setupstreams.c group_setupidlefiles.c group_setuptaskfiles.c
|
GRP_SRCS += group_setupstreams.c group_setupidlefiles.c group_setuptaskfiles.c
|
||||||
GRP_SRCS += task_getgroup.c group_foreachchild.c group_killchildren.c
|
GRP_SRCS += group_foreachchild.c group_killchildren.c
|
||||||
|
|
||||||
ifeq ($(CONFIG_SCHED_HAVE_PARENT),y)
|
ifeq ($(CONFIG_SCHED_HAVE_PARENT),y)
|
||||||
GRP_SRCS += task_reparent.c
|
GRP_SRCS += task_reparent.c
|
||||||
|
|||||||
@@ -75,6 +75,11 @@ extern FAR struct task_group_s *g_grouphead;
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Public Function Prototypes
|
* Public Function Prototypes
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
|
#ifdef CONFIG_SCHED_CHILD_STATUS
|
||||||
|
void weak_function task_initialize(void);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Task group data structure management */
|
/* Task group data structure management */
|
||||||
|
|
||||||
#ifdef HAVE_TASK_GROUP
|
#ifdef HAVE_TASK_GROUP
|
||||||
|
|||||||
@@ -42,13 +42,6 @@
|
|||||||
|
|
||||||
#include <nuttx/config.h>
|
#include <nuttx/config.h>
|
||||||
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <stdbool.h>
|
|
||||||
#include <queue.h>
|
|
||||||
#include <sched.h>
|
|
||||||
|
|
||||||
#include <nuttx/kmalloc.h>
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
@@ -219,18 +219,6 @@ extern volatile uint32_t g_cpuload_total;
|
|||||||
* Public Function Prototypes
|
* Public Function Prototypes
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifdef CONFIG_SCHED_CHILD_STATUS
|
|
||||||
void weak_function task_initialize(void);
|
|
||||||
#endif
|
|
||||||
void task_start(void);
|
|
||||||
int task_schedsetup(FAR struct task_tcb_s *tcb, int priority,
|
|
||||||
start_t start, main_t main, uint8_t ttype);
|
|
||||||
int task_argsetup(FAR struct task_tcb_s *tcb, FAR const char *name,
|
|
||||||
FAR char * const argv[]);
|
|
||||||
int task_exit(void);
|
|
||||||
int task_terminate(pid_t pid, bool nonblocking);
|
|
||||||
void task_exithook(FAR struct tcb_s *tcb, int status, bool nonblocking);
|
|
||||||
void task_recover(FAR struct tcb_s *tcb);
|
|
||||||
bool sched_addreadytorun(FAR struct tcb_s *rtrtcb);
|
bool sched_addreadytorun(FAR struct tcb_s *rtrtcb);
|
||||||
bool sched_removereadytorun(FAR struct tcb_s *rtrtcb);
|
bool sched_removereadytorun(FAR struct tcb_s *rtrtcb);
|
||||||
bool sched_addprioritized(FAR struct tcb_s *newTcb, DSEG dq_queue_t *list);
|
bool sched_addprioritized(FAR struct tcb_s *newTcb, DSEG dq_queue_t *list);
|
||||||
|
|||||||
@@ -50,6 +50,7 @@
|
|||||||
#include <nuttx/arch.h>
|
#include <nuttx/arch.h>
|
||||||
|
|
||||||
#include "os_internal.h"
|
#include "os_internal.h"
|
||||||
|
#include "task/task.h"
|
||||||
#include "pthread/pthread.h"
|
#include "pthread/pthread.h"
|
||||||
|
|
||||||
/************************************************************************
|
/************************************************************************
|
||||||
|
|||||||
@@ -0,0 +1,60 @@
|
|||||||
|
############################################################################
|
||||||
|
# sched/task/Make.defs
|
||||||
|
#
|
||||||
|
# Copyright (C) 2014 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.
|
||||||
|
#
|
||||||
|
############################################################################
|
||||||
|
|
||||||
|
TSK_SRCS = task_create.c task_init.c task_setup.c task_activate.c
|
||||||
|
TSK_SRCS += task_start.c task_delete.c task_exit.c task_exithook.c
|
||||||
|
TSK_SRCS += task_recover.c task_restart.c task_spawn.c task_spawnparms.c
|
||||||
|
TSK_SRCS += task_terminate.c task_getgroup.c
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_ARCH_HAVE_VFORK),y)
|
||||||
|
ifeq ($(CONFIG_SCHED_WAITPID),y)
|
||||||
|
TSK_SRCS += task_vfork.c
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifneq ($(CONFIG_BINFMT_DISABLE),y)
|
||||||
|
ifeq ($(CONFIG_LIBC_EXECFUNCS),y)
|
||||||
|
TSK_SRCS += task_posixspawn.c
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
ifeq ($(CONFIG_SCHED_STARTHOOK),y)
|
||||||
|
TSK_SRCS += task_starthook.c
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Include task build support
|
||||||
|
|
||||||
|
DEPPATH += --dep-path task
|
||||||
|
VPATH += :task
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* sched/spawn_internal.h
|
* sched/task/spawn.h
|
||||||
*
|
*
|
||||||
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@@ -33,8 +33,8 @@
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifndef __SCHED_SPAWN_INERNAL_H
|
#ifndef __SCHED_TASK_SPAWN_H
|
||||||
#define __SCHED_SPAWN_INERNAL_H
|
#define __SCHED_TASK_SPAWN_H
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Included Files
|
* Included Files
|
||||||
@@ -159,4 +159,4 @@ int spawn_execattrs(pid_t pid, FAR const posix_spawnattr_t *attr);
|
|||||||
int spawn_proxyattrs(FAR const posix_spawnattr_t *attr,
|
int spawn_proxyattrs(FAR const posix_spawnattr_t *attr,
|
||||||
FAR const posix_spawn_file_actions_t *file_actions);
|
FAR const posix_spawn_file_actions_t *file_actions);
|
||||||
|
|
||||||
#endif /* __SCHED_SPAWN_INERNAL_H */
|
#endif /* __SCHED_TASK_SPAWN_H */
|
||||||
@@ -0,0 +1,77 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
* sched/task/task.h
|
||||||
|
*
|
||||||
|
* Copyright (C) 2007-2014 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.
|
||||||
|
*
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#ifndef __SCHED_TASK_TASK_H
|
||||||
|
#define __SCHED_TASK_TASK_H
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Included Files
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#include <nuttx/config.h>
|
||||||
|
#include <nuttx/compiler.h>
|
||||||
|
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
|
#include <nuttx/sched.h>
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Pre-processor Definitions
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Public Type Definitions
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* Global Variables
|
||||||
|
****************************************************************************/
|
||||||
|
/****************************************************************************
|
||||||
|
* Public Function Prototypes
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
void task_start(void);
|
||||||
|
int task_schedsetup(FAR struct task_tcb_s *tcb, int priority,
|
||||||
|
start_t start, main_t main, uint8_t ttype);
|
||||||
|
int task_argsetup(FAR struct task_tcb_s *tcb, FAR const char *name,
|
||||||
|
FAR char * const argv[]);
|
||||||
|
int task_exit(void);
|
||||||
|
int task_terminate(pid_t pid, bool nonblocking);
|
||||||
|
void task_exithook(FAR struct tcb_s *tcb, int status, bool nonblocking);
|
||||||
|
void task_recover(FAR struct tcb_s *tcb);
|
||||||
|
bool sched_addreadytorun(FAR struct tcb_s *rtrtcb);
|
||||||
|
|
||||||
|
#endif /* __SCHED_TASK_TASK_H */
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* sched/task_activate.c
|
* sched/task/task_activate.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2007-2009 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* sched/task_create.c
|
* sched/task/task_create.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007-2010, 2013 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2007-2010, 2013 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@@ -50,6 +50,7 @@
|
|||||||
|
|
||||||
#include "os_internal.h"
|
#include "os_internal.h"
|
||||||
#include "group/group.h"
|
#include "group/group.h"
|
||||||
|
#include "task/task.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Definitions
|
* Definitions
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* sched/task_delete.c
|
* sched/task/task_delete.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007-2009, 2011-2013 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2007-2009, 2011-2013 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@@ -44,6 +44,7 @@
|
|||||||
#include <nuttx/sched.h>
|
#include <nuttx/sched.h>
|
||||||
|
|
||||||
#include "os_internal.h"
|
#include "os_internal.h"
|
||||||
|
#include "task/task.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Definitions
|
* Definitions
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* sched/task_exit.c
|
* sched/task/task_exit.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2008-2009, 2012-2014 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2008-2009, 2012-2014 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@@ -40,10 +40,13 @@
|
|||||||
#include <nuttx/config.h>
|
#include <nuttx/config.h>
|
||||||
|
|
||||||
#include <sched.h>
|
#include <sched.h>
|
||||||
|
|
||||||
#include "os_internal.h"
|
#include "os_internal.h"
|
||||||
|
|
||||||
#ifndef CONFIG_DISABLE_SIGNALS
|
#ifndef CONFIG_DISABLE_SIGNALS
|
||||||
# include "signal/signal.h"
|
# include "signal/signal.h"
|
||||||
#endif
|
#endif
|
||||||
|
#include "task/task.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Definitions
|
* Definitions
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* sched/task_exithook.c
|
* sched/task/task_exithook.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2011-2013 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2011-2013 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@@ -51,6 +51,7 @@
|
|||||||
#include "os_internal.h"
|
#include "os_internal.h"
|
||||||
#include "group/group.h"
|
#include "group/group.h"
|
||||||
#include "signal/signal.h"
|
#include "signal/signal.h"
|
||||||
|
#include "task/task.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* sched/task_getgroup.c
|
* sched/task/task_getgroup.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@@ -43,6 +43,7 @@
|
|||||||
|
|
||||||
#include "os_internal.h"
|
#include "os_internal.h"
|
||||||
#include "group/group.h"
|
#include "group/group.h"
|
||||||
|
#include "task/task.h"
|
||||||
|
|
||||||
#ifdef HAVE_TASK_GROUP
|
#ifdef HAVE_TASK_GROUP
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* sched/task_init.c
|
* sched/task/task_init.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007, 2009, 2013 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2007, 2009, 2013 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@@ -48,6 +48,7 @@
|
|||||||
|
|
||||||
#include "os_internal.h"
|
#include "os_internal.h"
|
||||||
#include "group/group.h"
|
#include "group/group.h"
|
||||||
|
#include "task/task.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Definitions
|
* Definitions
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* sched/task_posixspawn.c
|
* sched/task/task_posixspawn.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@@ -47,7 +47,8 @@
|
|||||||
|
|
||||||
#include "os_internal.h"
|
#include "os_internal.h"
|
||||||
#include "group/group.h"
|
#include "group/group.h"
|
||||||
#include "spawn_internal.h"
|
#include "task/spawn.h"
|
||||||
|
#include "task/task.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Types
|
* Private Types
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* sched/task_recover.c
|
* sched/task/task_recover.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@@ -46,6 +46,7 @@
|
|||||||
|
|
||||||
#include "os_internal.h"
|
#include "os_internal.h"
|
||||||
#include "mqueue/mqueue.h"
|
#include "mqueue/mqueue.h"
|
||||||
|
#include "task/task.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Definitions
|
* Definitions
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
* sched/task_reparent.c
|
* sched/task/task_reparent.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@@ -43,6 +43,7 @@
|
|||||||
|
|
||||||
#include "os_internal.h"
|
#include "os_internal.h"
|
||||||
#include "group/group.h"
|
#include "group/group.h"
|
||||||
|
#include "task/task.h"
|
||||||
|
|
||||||
#ifdef CONFIG_SCHED_HAVE_PARENT
|
#ifdef CONFIG_SCHED_HAVE_PARENT
|
||||||
|
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* sched/task_restart.c
|
* sched/task/task_restart.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007, 2009, 2012-2013 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2007, 2009, 2012-2013 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@@ -48,6 +48,7 @@
|
|||||||
#include "os_internal.h"
|
#include "os_internal.h"
|
||||||
#include "group/group.h"
|
#include "group/group.h"
|
||||||
#include "signal/signal.h"
|
#include "signal/signal.h"
|
||||||
|
#include "task/task.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Definitions
|
* Definitions
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* sched/task_setup.c
|
* sched/task/task_setup.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007-2013 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2007-2013 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@@ -51,9 +51,10 @@
|
|||||||
#include "os_internal.h"
|
#include "os_internal.h"
|
||||||
#include "pthread/pthread.h"
|
#include "pthread/pthread.h"
|
||||||
#include "group/group.h"
|
#include "group/group.h"
|
||||||
|
#include "task/task.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Definitions
|
* Pre-processor Definitions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* sched/task_spawn.c
|
* sched/task/task_spawn.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@@ -46,7 +46,8 @@
|
|||||||
|
|
||||||
#include "os_internal.h"
|
#include "os_internal.h"
|
||||||
#include "group/group.h"
|
#include "group/group.h"
|
||||||
#include "spawn_internal.h"
|
#include "task/spawn.h"
|
||||||
|
#include "task/task.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* sched/task_spawnparms.c
|
* sched/task/task_spawnparms.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@@ -46,7 +46,8 @@
|
|||||||
|
|
||||||
#include <nuttx/spawn.h>
|
#include <nuttx/spawn.h>
|
||||||
|
|
||||||
#include "spawn_internal.h"
|
#include "task/spawn.h"
|
||||||
|
#include "task/task.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Types
|
* Private Types
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* sched/task_start.c
|
* sched/task/task_start.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007-2010, 2013 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2007-2010, 2013 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@@ -47,6 +47,7 @@
|
|||||||
#include <nuttx/sched.h>
|
#include <nuttx/sched.h>
|
||||||
|
|
||||||
#include "os_internal.h"
|
#include "os_internal.h"
|
||||||
|
#include "task/task.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* sched/task_starthook.c
|
* sched/task/task_starthook.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@@ -41,6 +41,8 @@
|
|||||||
|
|
||||||
#include <nuttx/sched.h>
|
#include <nuttx/sched.h>
|
||||||
|
|
||||||
|
#include "task/task.h"
|
||||||
|
|
||||||
#ifdef CONFIG_SCHED_STARTHOOK
|
#ifdef CONFIG_SCHED_STARTHOOK
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* sched/task_terminate.c
|
* sched/task/task_terminate.c
|
||||||
*
|
*
|
||||||
* Copyright (C) 2007-2009, 2011-2014 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2007-2009, 2011-2014 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@@ -51,6 +51,7 @@
|
|||||||
#ifndef CONFIG_DISABLE_SIGNALS
|
#ifndef CONFIG_DISABLE_SIGNALS
|
||||||
# include "signal/signal.h"
|
# include "signal/signal.h"
|
||||||
#endif
|
#endif
|
||||||
|
#include "task/task.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Definitions
|
* Definitions
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* sched/task_vfork
|
* sched/task/task_vfork
|
||||||
*
|
*
|
||||||
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
* Copyright (C) 2013 Gregory Nutt. All rights reserved.
|
||||||
* Author: Gregory Nutt <gnutt@nuttx.org>
|
* Author: Gregory Nutt <gnutt@nuttx.org>
|
||||||
@@ -50,6 +50,7 @@
|
|||||||
|
|
||||||
#include "os_internal.h"
|
#include "os_internal.h"
|
||||||
#include "group/group.h"
|
#include "group/group.h"
|
||||||
|
#include "task/task.h"
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Pre-processor Definitions
|
* Pre-processor Definitions
|
||||||
Reference in New Issue
Block a user