ab78e3817a
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. |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
exit.c | ||
Make.defs | ||
spawn.h | ||
task_activate.c | ||
task_cancelpt.c | ||
task_create.c | ||
task_delete.c | ||
task_execve.c | ||
task_exit.c | ||
task_exithook.c | ||
task_fork.c | ||
task_getgroup.c | ||
task_getpid.c | ||
task_getppid.c | ||
task_gettid.c | ||
task_init.c | ||
task_posixspawn.c | ||
task_prctl.c | ||
task_recover.c | ||
task_reparent.c | ||
task_restart.c | ||
task_setcancelstate.c | ||
task_setcanceltype.c | ||
task_setup.c | ||
task_spawn.c | ||
task_spawnparms.c | ||
task_start.c | ||
task_starthook.c | ||
task_terminate.c | ||
task_testcancel.c | ||
task.h |