summaryrefslogtreecommitdiff
path: root/nuttx/TODO
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-12-13 17:25:33 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-12-13 17:25:33 -0600
commit8897acab5799264ff04f265189ec9ac1bafc6c83 (patch)
tree45d8382335e21812db1c94f3a4c3b17211526f14 /nuttx/TODO
parentcc3ccf9e7489b77759c0b2df64904f92719ab1e8 (diff)
downloadnuttx-8897acab5799264ff04f265189ec9ac1bafc6c83.tar.gz
nuttx-8897acab5799264ff04f265189ec9ac1bafc6c83.tar.bz2
nuttx-8897acab5799264ff04f265189ec9ac1bafc6c83.zip
Update TODO list
Diffstat (limited to 'nuttx/TODO')
-rw-r--r--nuttx/TODO18
1 files changed, 17 insertions, 1 deletions
diff --git a/nuttx/TODO b/nuttx/TODO
index 251279d27..ccf664ef5 100644
--- a/nuttx/TODO
+++ b/nuttx/TODO
@@ -196,7 +196,7 @@ o Task/Scheduler (sched/)
threads should always be safe (or at least as unsafe) as
under Unix because the model is complete for pthreads...
- "So, in my opinion, this is a generic system issue, not
+ "So, in my opinion, this is a generic system issue, not
specific to the serial driver. I could also implement
logic to release all semaphores held by a thread when
it exits -- but only if priority inheritance is enabled;
@@ -213,6 +213,22 @@ o Task/Scheduler (sched/)
"I think that the system needs to automatically release any
semaphores held by a thread being killed asynchronously?
It seems necessary to me."
+
+ UPDATE; The logic enabled when priority inheritance is
+ enabled for this purpose is insufficient. It provides
+ hooks so that given a semaphore it can traverse all
+ holders. What is needed would be logic so that given
+ a task, you can traverse all semaphores held by the task,
+ releasing each semaphore cound held by the exiting task.
+ Nothing like this exists now so that solution is not
+ imminent.
+
+ UPDATE: The basic fix to release the semaphore count if
+ a thread is killed via pthread_cancel() or task_delete()
+ has been implemented (2014-12-13). See the new file:
+ sched/semaphore/sem_recover.c However, the general
+ issue of freeing semaphores when a thread exists still
+ exists.
Status: Open
Priority: Medium-ish