Fix a hole in the scheduler where collisions between waking blocked threads in mutexe...
commit49d5320f30b3362f5d30887b786a47931244abb0
authorjethead71 <jethead71@a1c6a512-1295-4272-9138-f99709370657>
Mon, 26 Mar 2007 03:24:36 +0000 (26 03:24 +0000)
committerjethead71 <jethead71@a1c6a512-1295-4272-9138-f99709370657>
Mon, 26 Mar 2007 03:24:36 +0000 (26 03:24 +0000)
tree2818158a5c6f250dc928319d7cc6c91788519b78
parent58f09b173d8e1ba83d81dfb7d617e3c5a57de927
Fix a hole in the scheduler where collisions between waking blocked threads in mutexes with interrupts waking blocked threads in message queues can occur. Queue posts will put the threads on a separate list that is then added to the running list with IRQs disabled on the next task switch or CPU wakeup. Basically no overhead for other operations. Seems a likely cause of my occasional observation of the backlight fade causing playback threads to stop running and a recently reported blocking violation upon USB plugging. Time will tell but banging the backlight on and off frequently hasn't hiccuped again for me on H120.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12915 a1c6a512-1295-4272-9138-f99709370657
firmware/export/thread.h
firmware/kernel.c
firmware/thread.c