Update TODO list

This commit is contained in:
Gregory Nutt 2017-10-08 09:06:35 -06:00
parent 3664b0ab66
commit f6f740a511
1 changed files with 27 additions and 5 deletions

32
TODO
View File

@ -1,4 +1,4 @@
NuttX TODO List (Last updated August 22, 2017)
NuttX TODO List (Last updated October 9, 2017)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This file summarizes known NuttX bugs, limitations, inconsistencies with
@ -222,14 +222,35 @@ o Task/Scheduler (sched/)
wrapper around nx_sem_wait() that adds the cancellation point
and that sets the errno value on failures.
On particularly difficult issue is the use of common memory
manager C, and NX libraries in the build. For the FLAT
build, that is not such a issue because the OS internal
versions of the interfaces can be used. But is a difficult
problem for PROTECTED and KERNEL builds where the OS links
with a different version of the libraries than does the
application: The OS version would use the OS internal
interfaces and the application would use the standard
interfaces.
But that raises yet another issue: If the application
version of the libraries use the standard interfaces
internally, then they may generate unexpected cancellation
points. For example, the memory management would take a
semaphore using sem_wait() to get exclusive access to the
heap. That means that every call to malloc() and free()
would be a cancellation point, a clear POSIX violation.
Changes like that could clean up some of this internal
craziness.
UPDATE:
2017-1003: This change has been completed for the case of
semaphores used int he OS. Still need to checkout signals
2017-10-03: This change has been completed for the case of
semaphores used in the OS. Still need to checkout signals
and messages queues that are also used in the OS. Also
backed out commit b4747286b19d3b15193b2a5e8a0fe48fa0a8638c.
2017-10-86: This change has been completed for the case of
signals used in the OS. Still need to checkout messages
queues that are also used in the OS.
Status: Open
Priority: Low. Things are working OK the way they are. But the design
@ -522,8 +543,9 @@ o pthreads (sched/pthreads)
big loss from the experience I gained."
Title: ISSUES WITH CANCELLATION POINTS
Description: According to POIX cancellation points must occur when a thread is executing
the following functions. There are some execptions as noted:
Description: According to POSIX cancellation points must occur when a
thread is executing the following functions. There are some
exceptions as noted:
accept() mq_timedsend() NA putpmsg() sigtimedwait()
04 aio_suspend() NA msgrcv() pwrite() NA sigwait()