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 arc: add _tsc_read for 64-bit timestamp 2017-02-15 05:55:09 +00:00
boards doc: boards: Move nRF5x DK board doc from the wiki to git 2017-02-15 10:16:02 +00:00
doc arc: enable gen_isr_tables mechanism 2017-02-15 04:54:47 +00:00
drivers Merge "Merge remote-tracking branch 'origin/core'" 2017-02-15 04:33:25 +00:00
dts
ext ext/lib/mbedtls: Add the TLS configuration file 2017-02-14 08:30:35 +02:00
include slist: add SYS_SLIST_ITERATE_FROM_NODE() 2017-02-16 04:56:23 +00:00
kernel kernel/sem: fix issue with expired timeouts on group operations 2017-02-16 04:56:26 +00:00
lib Merge "Merge remote-tracking branch 'origin/core'" 2017-02-15 04:33:25 +00:00
misc
samples samples: net: Add README.rst to echo apps 2017-02-15 12:20:08 +02:00
scripts Merge "Merge remote-tracking branch 'origin/core'" 2017-02-15 04:33:25 +00:00
subsys net/mqtt: Remove length computations for some msg fields 2017-02-15 12:20:08 +02:00
tests tests/kernel/common: add test to verify same tick timeout expiry order 2017-02-16 04:56:26 +00:00
.checkpatch.conf
.gitattributes
.gitignore
.gitreview
.mailmap
defaults.tc
Kbuild
Kconfig
Kconfig.zephyr
LICENSE
MAINTAINERS
Makefile bump version to v1.7.99 2017-02-15 05:46:45 -08:00
Makefile.inc
Makefile.test
zephyr-env.sh