incubator-nuttx/sched/task
Ville Juven ab78e3817a sched/task_[posix]spawn: Simplify how spawn attributes are handled
Handle task spawn attributes as task spawn file actions are handled.

Why? This removes the need for sched_lock() when the task is being
spawned. When loading the new task from a file the scheduler can be
locked for a VERY LONG time, in the order of hundreds of milliseconds!

This is unacceptable for real time operation.

Also fixes a latent bug in exec_module, spawn_file_actions is executed
at a bad location; when CONFIG_ARCH_ADDRENV=y actions will point to the
new process's address environment (as it is temporarily instantiated at
that point). Fix this by moving it to after addrenv_restore.
2023-10-25 11:55:44 -03:00
..
CMakeLists.txt cmake:complete missing changes during cmake reforming for sched 2023-09-08 21:20:16 +03:00
Make.defs tls: Move task_tls_alloc and task_tls_destruct to libc 2023-08-28 11:02:18 +03:00
exit.c libc/stdio: Flush streams in userspace when process exits 2022-12-22 20:16:11 +08:00
spawn.h sched/spawn: remove spawn proxy thread to simplify task/posix_spawn() 2023-04-27 17:35:58 +08:00
task.h libc/stdio: Flush streams in userspace when process exits 2022-12-22 20:16:11 +08:00
task_activate.c nuttx/sched: merge up_block_task and up_unblock_task 2022-11-22 22:59:08 +08:00
task_cancelpt.c libc/exit: Purge calls to userspace API exit() from kernel 2023-02-17 23:07:17 +08:00
task_create.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
task_delete.c sched: fix the minor style issue 2023-10-25 15:46:45 +08:00
task_execve.c libc/exit: Purge calls to userspace API exit() from kernel 2023-02-17 23:07:17 +08:00
task_exit.c libc/stdio: Flush streams in userspace when process exits 2022-12-22 20:16:11 +08:00
task_exithook.c replace nxsched_gettid with nxsched_getpid. 2023-08-04 04:21:08 -07:00
task_fork.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
task_getgroup.c
task_getpid.c sched/task: add kernel interface nxsched_* gettid/getpid/getppid 2023-02-02 10:33:01 +08:00
task_getppid.c sched/task: add kernel interface nxsched_* gettid/getpid/getppid 2023-02-02 10:33:01 +08:00
task_gettid.c sched/task: add kernel interface nxsched_* gettid/getpid/getppid 2023-02-02 10:33:01 +08:00
task_init.c add the startup process tracepoint 2023-08-19 21:50:08 +08:00
task_posixspawn.c sched/task_[posix]spawn: Simplify how spawn attributes are handled 2023-10-25 11:55:44 -03:00
task_prctl.c
task_recover.c
task_reparent.c
task_restart.c semantic/parser: fix compile warning found by sparse 2023-05-30 23:00:00 +08:00
task_setcancelstate.c libc/exit: Purge calls to userspace API exit() from kernel 2023-02-17 23:07:17 +08:00
task_setcanceltype.c libc/exit: Purge calls to userspace API exit() from kernel 2023-02-17 23:07:17 +08:00
task_setup.c sched: remove space in task name 2023-08-11 13:27:17 +08:00
task_spawn.c sched/task_[posix]spawn: Simplify how spawn attributes are handled 2023-10-25 11:55:44 -03:00
task_spawnparms.c task_spawnparms: out of loop when ret less than 0 2023-07-31 00:47:42 -07:00
task_start.c libc/exit: Purge calls to userspace API exit() from kernel 2023-02-17 23:07:17 +08:00
task_starthook.c
task_terminate.c sched: Fix nxstyle errors 2023-05-11 11:25:58 -03:00
task_testcancel.c