zephyr/lib
Andy Ross d89249dbc5 pthread: Respect cooperative thread schedulign in condition variable
Originally, pthread_cond_signal() was written to yield even in
circumstances where the current thread is at a cooperative priority
and would not expect to be context-switched out until it blocks.  This
makes sense, as in most cases you want the newly signaled thread to
get a chance to run as soon as possible.

On further reflection (and also because it complicates the scheduler),
I think that's wrong.  The point to cooperative scheduling is that it
allows the cooperative code to make synchronization assumptions about
exactly when it might yield to other threads, and having arbitrary
APIs be "preemption points" like this complicates that analysis
significantly.

Use _reschedule() like other code does.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2018-04-24 03:57:20 +05:30
..
base64 lib: base64: Add statement of changes 2018-03-23 13:54:48 +01:00
crc
json
libc
mempool lib: user mode compatible mempools 2018-04-05 07:03:05 -07:00
posix pthread: Respect cooperative thread schedulign in condition variable 2018-04-24 03:57:20 +05:30
rbtree lib/rbtree: Add a rb_contains() predicate 2018-04-10 12:31:51 -04:00
ring_buffer
CMakeLists.txt lib: Red/Black balanced tree data structure 2018-04-10 12:31:51 -04:00
Kconfig lib: posix: Move posix layer from 'kernel' to 'lib' 2018-04-05 16:43:05 -04:00