incubator-nuttx/sched/task
Ville Juven 64d8249895 sched/addrenv, binfmt: Always allocate address environment from heap
Instead of using a volatile storage for the address environment in the
binfmt / loadinfo structures, always allocate the address environment
from kheap.

This serves two purposes:
- If the task creation fails, any kernel thread that depends on the
  address environment created during task creation will not lose their
  mappings (because they hold a reference to it)
- The current address environment variable (g_addrenv) will NEVER contain
  a stale / incorrect value
- Releasing the address environment is simplified as any pointer given
  to addrenv_drop() can be assumed to be heap memory
- Makes the kludge function addrenv_clear_current irrelevant, as the
  system will NEVER have invalid mappings any more
2023-04-22 00:43:30 +08:00
..
Make.defs sched/Makefile: move task_reparent.c to appropriate Makefile 2022-07-27 23:22:37 +08:00
exit.c libc/stdio: Flush streams in userspace when process exits 2022-12-22 20:16:11 +08:00
spawn.h Replace nxsem API when used as a lock with nxmutex API 2022-10-17 15:59:46 +09: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 sched/spawn: Support task_spawnattr_[set|get]stackaddr 2022-10-31 12:46:58 +09:00
task_delete.c libc/exit: Purge calls to userspace API exit() from kernel 2023-02-17 23:07:17 +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 sched: build error fix in task_exithook 2023-03-03 20:10:43 +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 sched/addrenv, binfmt: Always allocate address environment from heap 2023-04-22 00:43:30 +08:00
task_posixspawn.c sched/waitpid: rename nx_waitpid() to nxsched_waitpid() 2023-02-01 20:40:41 +08:00
task_prctl.c prctl: Replace strncpy with strlcpy for safety 2022-08-24 01:54:53 +08:00
task_recover.c sched/mqueue: make mqueue and mqueue sysv can disable separately 2022-11-16 20:03:40 +08:00
task_reparent.c
task_restart.c Increase the number of real time signals. Two is not enough. 2023-03-27 16:59:04 +03: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 Fixed improper access of g_pidhash. 2023-04-04 18:00:36 -06:00
task_spawn.c sched/waitpid: rename nx_waitpid() to nxsched_waitpid() 2023-02-01 20:40:41 +08:00
task_spawnparms.c use SEM_INITIALIZER inside of NXSEM_INITIALIZER 2022-10-22 14:50:48 +08: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 task_delete crash in SMP case 2023-01-18 14:11:18 +09:00
task_testcancel.c
task_tls_alloc.c Replace nxsem API when used as a lock with nxmutex API 2022-10-17 15:59:46 +09:00
task_vfork.c libc: Move queue.h from include to include/nuttx 2022-09-26 08:04:58 +02:00