Update TODO list
This commit is contained in:
parent
3664b0ab66
commit
f6f740a511
32
TODO
32
TODO
@ -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
|
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
|
wrapper around nx_sem_wait() that adds the cancellation point
|
||||||
and that sets the errno value on failures.
|
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
|
Changes like that could clean up some of this internal
|
||||||
craziness.
|
craziness.
|
||||||
|
|
||||||
UPDATE:
|
UPDATE:
|
||||||
2017-1003: This change has been completed for the case of
|
2017-10-03: This change has been completed for the case of
|
||||||
semaphores used int he OS. Still need to checkout signals
|
semaphores used in the OS. Still need to checkout signals
|
||||||
and messages queues that are also used in the OS. Also
|
and messages queues that are also used in the OS. Also
|
||||||
backed out commit b4747286b19d3b15193b2a5e8a0fe48fa0a8638c.
|
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
|
Status: Open
|
||||||
Priority: Low. Things are working OK the way they are. But the design
|
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."
|
big loss from the experience I gained."
|
||||||
|
|
||||||
Title: ISSUES WITH CANCELLATION POINTS
|
Title: ISSUES WITH CANCELLATION POINTS
|
||||||
Description: According to POIX cancellation points must occur when a thread is executing
|
Description: According to POSIX cancellation points must occur when a
|
||||||
the following functions. There are some execptions as noted:
|
thread is executing the following functions. There are some
|
||||||
|
exceptions as noted:
|
||||||
|
|
||||||
accept() mq_timedsend() NA putpmsg() sigtimedwait()
|
accept() mq_timedsend() NA putpmsg() sigtimedwait()
|
||||||
04 aio_suspend() NA msgrcv() pwrite() NA sigwait()
|
04 aio_suspend() NA msgrcv() pwrite() NA sigwait()
|
||||||
|
Loading…
Reference in New Issue
Block a user