e24f281401
The three fixes are to handle cases in the SMP configuration where one CPU does need to make modifications to TCB and data structures on a task that could be running running on another CPU. Those three cases are task_delete(), task_restart(), and execution of signal handles. In all three cases the solutions is basically the same: (1) Call sched_cpu_pause(tcb) to pause the CPU on which the task is running, (2) perform the necessary operations, then (3) call up_cpu_resume() to restart the paused CPU. |
||
---|---|---|
.. | ||
Make.defs | ||
sig_action.c | ||
sig_allocatependingsigaction.c | ||
sig_cleanup.c | ||
sig_deliver.c | ||
sig_dispatch.c | ||
sig_findaction.c | ||
sig_initialize.c | ||
sig_kill.c | ||
sig_lowest.c | ||
sig_mqnotempty.c | ||
sig_nanosleep.c | ||
sig_notification.c | ||
sig_pause.c | ||
sig_pending.c | ||
sig_procmask.c | ||
sig_queue.c | ||
sig_releasependingsigaction.c | ||
sig_releasependingsignal.c | ||
sig_removependingsignal.c | ||
sig_suspend.c | ||
sig_timedwait.c | ||
sig_unmaskpendingsignal.c | ||
sig_waitinfo.c | ||
signal.h |