summaryrefslogtreecommitdiff
path: root/nuttx/ChangeLog
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-01-12 19:58:45 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2013-01-12 19:58:45 +0000
commit499c8c86de6757b39eaaf0f2b96a5b070f085b9b (patch)
tree84c6da5c61268158365bdafe58f546b34a0b8a91 /nuttx/ChangeLog
parent5a180ec4940c993311eedddaa13194f9977968f1 (diff)
downloadnuttx-499c8c86de6757b39eaaf0f2b96a5b070f085b9b.tar.gz
nuttx-499c8c86de6757b39eaaf0f2b96a5b070f085b9b.tar.bz2
nuttx-499c8c86de6757b39eaaf0f2b96a5b070f085b9b.zip
Fix a *critical* bug in the task exit logic. Implements SIGCHILD
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5513 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/ChangeLog')
-rw-r--r--nuttx/ChangeLog11
1 files changed, 11 insertions, 0 deletions
diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog
index 40a24d8f1..921b7014b 100644
--- a/nuttx/ChangeLog
+++ b/nuttx/ChangeLog
@@ -3911,3 +3911,14 @@
lib_fread() was passed a bad stream. Needed to move the
releasing of a semaphore inside of some conditional logic
(cosmetic).
+ * include/nuttx/sched.h, sched/task_setup.c, and sched/task_exithook.c:
+ Add support for remembering the parent task and sending
+ SIGCHLD to the parent when the task exists.
+ * sched/task_exithook.c: Fixed a *critical* bug. Here is
+ the scenario: (1) sched_lock() is called increments the lockcount
+ on the current TCB (i.e., the one at the head of the ready to run
+ list), (2) sched_mergepending is called which may change the task
+ at the head of the readytorun list, then (2) sched_lock() is called
+ which decrements the lockcount on the wrong TCB. The failure case
+ that I saw was that pre-emption got disabled in the IDLE thread,
+ locking up the whole system.