Certain data accesses in the kernel should have volatile semantics to be correct...
commit69cf276dbd5fecbfd6e4fd17e30f1d24c310c7e8
authorjethead71 <jethead71@a1c6a512-1295-4272-9138-f99709370657>
Mon, 27 Dec 2010 10:05:09 +0000 (27 10:05 +0000)
committerjethead71 <jethead71@a1c6a512-1295-4272-9138-f99709370657>
Mon, 27 Dec 2010 10:05:09 +0000 (27 10:05 +0000)
treeaf526b3cf241e9eeb2bd3c1508791078f93f4157
parent7fbf7008c0b65aec9182f30345924b9dfc1dd144
Certain data accesses in the kernel should have volatile semantics to be correct and not rely on the whims of the compiler. Change queue clearing to simply catch read up to write rather than reset both to 0 to ensure sane results for queue_count and queue_empty with concurrency. Binsize may or may not increase a bit depending upon whether the output was as intended in all places; wrong stuff was already unlikely to cause any issue.

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