Update TODO list
This commit is contained in:
parent
ab43681f15
commit
2a2926473c
33
TODO
33
TODO
@ -1,4 +1,4 @@
|
|||||||
NuttX TODO List (Last updated December 17, 2016)
|
NuttX TODO List (Last updated December 8, 2016)
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
This file summarizes known NuttX bugs, limitations, inconsistencies with
|
This file summarizes known NuttX bugs, limitations, inconsistencies with
|
||||||
@ -113,7 +113,7 @@ o Task/Scheduler (sched/)
|
|||||||
context of the caller of task. That is very bad!
|
context of the caller of task. That is very bad!
|
||||||
|
|
||||||
The fix for all of these issues it to have the callbacks
|
The fix for all of these issues it to have the callbacks
|
||||||
run on the caller's thread as is currently done with
|
run on the caller's thread as is currently done with
|
||||||
signal handlers. Signals are delivered differently in
|
signal handlers. Signals are delivered differently in
|
||||||
PROTECTED and KERNEL modes: The deliver is involes a
|
PROTECTED and KERNEL modes: The deliver is involes a
|
||||||
signal handling trampoline function in the user address
|
signal handling trampoline function in the user address
|
||||||
@ -186,6 +186,12 @@ o Task/Scheduler (sched/)
|
|||||||
NxWM::CNxConsole to terminate console tasks and also in
|
NxWM::CNxConsole to terminate console tasks and also in
|
||||||
apps/netutils/thttpd to kill CGI tasks that timeout. So not
|
apps/netutils/thttpd to kill CGI tasks that timeout. So not
|
||||||
so simple to remove.
|
so simple to remove.
|
||||||
|
|
||||||
|
Option: Perhaps task_delete() should not do asynchronous
|
||||||
|
deletion but should rather do the same kind of
|
||||||
|
synchronization such as the pthread_cancellation points?
|
||||||
|
(see pthread_cancel() issues).
|
||||||
|
|
||||||
Status: Open
|
Status: Open
|
||||||
Priority: Low and not easily removable.
|
Priority: Low and not easily removable.
|
||||||
|
|
||||||
@ -524,7 +530,28 @@ o pthreads (sched/pthreads)
|
|||||||
|
|
||||||
Title: CANCELLATION POINTS
|
Title: CANCELLATION POINTS
|
||||||
Description: pthread_cancel(): Should implement cancellation points and
|
Description: pthread_cancel(): Should implement cancellation points and
|
||||||
pthread_testcancel()
|
pthread_testcancel().
|
||||||
|
|
||||||
|
Internal implementation perhaps as follows. See list of
|
||||||
|
functions that are cancellation points on OpenGroup.org. In
|
||||||
|
general:
|
||||||
|
|
||||||
|
- Remove asynchronous cancellation. All cancellations must
|
||||||
|
pend.
|
||||||
|
- Check if the thread is within cancellation region, then
|
||||||
|
treat like a signal to wake up with -ECANCELED vs -EINTER
|
||||||
|
|
||||||
|
For each function/cancellation point
|
||||||
|
|
||||||
|
- Call enter_cancellation region() on entry. Checks for
|
||||||
|
pending cancellation and marks "within cancellation region"
|
||||||
|
in TCB flags.
|
||||||
|
- Will wake-up with -ECANCELED if cancellation occurs.
|
||||||
|
- Call leave_cancellation region() on exit. Checks for
|
||||||
|
pending cancellation and marks NOT "within cancellation region"
|
||||||
|
|
||||||
|
Perhaps task_delete() should do the same kind of synchronization?
|
||||||
|
|
||||||
Status: Open. No changes are planned.
|
Status: Open. No changes are planned.
|
||||||
Priority: Low, probably not that useful
|
Priority: Low, probably not that useful
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user