nuttx/sched/pthread
Gregory Nutt 64b398f4c6 sched/pthread/pthread_condwait.c: Fix cancellation bug.
Now that nxsem_wait_uninterruptible() returns an error when the thread is canceled, new logic is being executed.  This revealed an existing error in pthread_cond_wait().  The nature of the error is as follows:

* pthread_cond_wait() must atomically (1) release the mutex, (2) wait on the condition, and (3) re-establish the mutex.  Errors can occur on any of these steps.  In this case the ECANCELED error was (very correctly) reported by nxsem_wait_uninterruptible().

* However, logic in step (3) had a bug; it re-acquired the mutex, but then a bug in existing logic cause the mutex to be improperly initialized.  Essentially, the wrong error status value was being testing.  This resulted in a nonsequitar and errors reported by the OS test.

This problem was found by apps/testing/ostest/pthread_cleanup.c
2020-04-05 22:37:24 +01:00
..
Make.defs Squashed commit of the following: 2019-04-29 14:52:05 -06:00
pthread_cancel.c Run codespell -w with the latest dictonary again 2020-02-23 22:27:46 +01:00
pthread_cleanup.c Make sure that labeling is used consistently in all function headers. 2018-02-01 10:00:02 -06:00
pthread_completejoin.c Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
pthread_condbroadcast.c tools/nxstyle.c: Fix logic that detects if an operator is correctly delimited with spaces. sched/: Various changes because sched/ C files were used as Guinea Pigs to test nstyle.c. 2019-03-01 10:50:02 -06:00
pthread_condsignal.c tools/nxstyle.c: Fix logic that detects if an operator is correctly delimited with spaces. sched/: Various changes because sched/ C files were used as Guinea Pigs to test nstyle.c. 2019-03-01 10:50:02 -06:00
pthread_condtimedwait.c Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
pthread_condwait.c sched/pthread/pthread_condwait.c: Fix cancellation bug. 2020-04-05 22:37:24 +01:00
pthread_create.c tools/nxstyle.c: Add automatic detection of line width based on examining 2020-01-12 13:07:54 -03:00
pthread_detach.c Fix wait loop and void cast (#24) 2020-01-02 10:54:43 -06:00
pthread_exit.c Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
pthread_findjoininfo.c Fix typos in comments and documentation. 2020-03-16 20:01:11 -06:00
pthread_get_stackaddr_np.c Fix several ZNeo compile issues. There are more. Pthreads: Fix a could of places where FAR was added when it is not appropriate. This matters to ZNeo which depends on definitions of NEAR and FAR points. 2019-06-03 13:06:58 -06:00
pthread_get_stacksize_np.c Fix several ZNeo compile issues. There are more. Pthreads: Fix a could of places where FAR was added when it is not appropriate. This matters to ZNeo which depends on definitions of NEAR and FAR points. 2019-06-03 13:06:58 -06:00
pthread_getaffinity.c Standardization of some function headers. 2018-03-13 09:52:27 -06:00
pthread_getschedparam.c Standardization of some function headers. 2018-03-13 09:52:27 -06:00
pthread_getspecific.c Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
pthread_initialize.c Replace #include <semaphore.h> to #include <nuttx/semaphore.h> 2020-02-01 08:27:30 -06:00
pthread_join.c Fix wait loop and void cast (#24) 2020-01-02 10:54:43 -06:00
pthread_keycreate.c sched/pthread, Documentation: fix pthread_key_delete, pthread_self and pthread_yield documentation and some comments. 2019-10-17 11:04:17 -06:00
pthread_keydelete.c Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
pthread_kill.c Standardization of some function headers. 2018-03-13 09:52:27 -06:00
pthread_mutex.c Run codespell -w with the latest dictonary again 2020-02-23 22:27:46 +01:00
pthread_mutexconsistent.c Fix various issues noted by Coverity 2018-02-06 09:13:16 -06:00
pthread_mutexdestroy.c Replace #include <semaphore.h> to #include <nuttx/semaphore.h> 2020-02-01 08:27:30 -06:00
pthread_mutexinconsistent.c Fix wait loop and void cast (#24) 2020-01-02 10:54:43 -06:00
pthread_mutexinit.c Standardization of some function headers. 2018-03-13 09:52:27 -06:00
pthread_mutextimedlock.c Run codespell -w with the latest dictonary again 2020-02-23 22:27:46 +01:00
pthread_mutextrylock.c Run codespell -w with the latest dictonary again 2020-02-23 22:27:46 +01:00
pthread_mutexunlock.c tools/nxstyle.c: Fix error in conditional logic that was preventing detection bad brace alignment. Add logic to handle alignment of braces in data initializators which following slightly different indentation rules. 2019-06-30 10:35:10 -06:00
pthread_release.c Fix wait loop and void cast (#24) 2020-01-02 10:54:43 -06:00
pthread_setaffinity.c Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
pthread_setschedparam.c Standardization of some function headers. 2018-03-13 09:52:27 -06:00
pthread_setschedprio.c Make sure that labeling is used consistently in all function headers. 2018-02-01 10:00:02 -06:00
pthread_setspecific.c Remove exra whitespace from files (#189) 2020-01-31 09:24:49 -06:00
pthread_sigmask.c Standardization of some function headers. 2018-03-13 09:52:27 -06:00
pthread.h included/pthreads, sched/pthreads, and Documetions: Updates after review of last PR. 2019-02-24 14:40:11 -06:00