Go to file
Benjamin Walsh 2e0bf3a0f8 kernel/sem: fix issue with expired timeouts on group operations
The loop was not tracking the correct next node in the list correctly.

However, it happened that the fix is way more involved than just fixing
that small issue, due to the way that semaphore group timeouts work.

Instead of handling timeouts one-by-one, we have to handle all timeouts
in a semaphore group as one. To do that, we use the fact that the
timeout of the real thread is always found first in the kernel's
timeout_q, and if it has expired, we do not even look at the timeouts of
the dummy threads.

Change-Id: Iadcfd06f33c6b335efa2592b2c01eeb5ca67afde
Signed-off-by: Benjamin Walsh <walsh.benj@gmail.com>
2017-02-16 04:56:26 +00:00
.known-issues
arch
boards
doc
drivers
dts
ext
include
kernel kernel/sem: fix issue with expired timeouts on group operations 2017-02-16 04:56:26 +00:00
lib
misc
samples
scripts
subsys
tests
.checkpatch.conf
.gitattributes
.gitignore
.gitreview
.mailmap
defaults.tc
Kbuild
Kconfig
Kconfig.zephyr
LICENSE
MAINTAINERS
Makefile
Makefile.inc
Makefile.test
zephyr-env.sh