incubator-nuttx/binfmt
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
..
libelf enable O_CLOEXEC explicit 2023-09-22 13:51:00 +08:00
libnxflat enable O_CLOEXEC explicit 2023-09-22 13:51:00 +08:00
CMakeLists.txt Exec: Support run exec in current task 2023-09-20 16:53:30 +08:00
Kconfig Fix Kconfig style 2023-09-13 21:39:49 +08:00
Makefile Exec: Support run exec in current task 2023-09-20 16:53:30 +08:00
binfmt.h binfmt: Move [elf|nxflat]_[un]initialize to private header file 2023-07-10 23:03:17 +03:00
binfmt_copyargv.c mm/alloc: remove all unnecessary cast for alloc 2023-08-30 14:34:20 +08:00
binfmt_coredump.c elf/coredump: add support of dump task stack without memory segments 2023-05-24 22:34:47 +08:00
binfmt_dumpmodule.c sched/spawn: Support task_spawnattr_[set|get]stackaddr 2022-10-31 12:46:58 +09:00
binfmt_exec.c sched/task_[posix]spawn: Simplify how spawn attributes are handled 2023-10-25 11:55:44 -03:00
binfmt_execmodule.c sched/task_[posix]spawn: Simplify how spawn attributes are handled 2023-10-25 11:55:44 -03:00
binfmt_execsymtab.c libc/symtab: Don't include symtab.h in the header files 2023-07-10 23:03:17 +03:00
binfmt_exit.c
binfmt_globals.c binfmt/elf: Fix the minor style issue 2023-08-27 18:46:40 -03:00
binfmt_initialize.c binfmt: Move [elf|nxflat]_[un]initialize to private header file 2023-07-10 23:03:17 +03:00
binfmt_loadmodule.c binfmt: remove sched_[un]lock 2023-07-26 09:43:51 -07:00
binfmt_register.c binfmt: remove sched_[un]lock 2023-07-26 09:43:51 -07:00
binfmt_unloadmodule.c binfmt/elf: Fix the minor style issue 2023-08-27 18:46:40 -03:00
binfmt_unregister.c binfmt: remove sched_[un]lock 2023-07-26 09:43:51 -07:00
builtin.c binfmt/elf: Fix the minor style issue 2023-08-27 18:46:40 -03:00
elf.c binfmt: ELF support load to LMA 2023-09-04 12:23:26 +08:00
nxflat.c binfmt/elf: Fix the minor style issue 2023-08-27 18:46:40 -03:00