nuttx/sched
Gregory Nutt eb344d7260 Fix an assertion noted by Jussi Kivilinna.
This was a consequence of the recent robust mutex changes.  If robust mutexes are selected, then each mutex that a thread takes is retained in a list in threads TCB.  If the thread exits and that list is not empty, then we know that the thread exitted while holding mutexes.  And, in that case, each will be marked as inconsistent and the any waiter for the thread is awakened.

For the case of pthread_mutex_trywait(), the mutex was not being added to the list!  while not usually a fatal error, this was caught by an assertion when pthread_mutex_unlock() was called:  It tried to remove the mutex from the TCB list and it was not there when, of course, it shoule be.

The fix was to add pthread_mutex_trytake() which does sem_trywait() and if successful, does correctly add the mutext to the TCB list.  This should eliminated the assertion.
2017-03-29 07:50:40 -06:00
..
clock sched/clock: Correct calculation for the case of Tickless mode with a 32-bit timer. In that case, the calculation was returning millisecond accuracy. That is not good when the timer accuracy is < 1 msec. 2016-11-19 09:55:21 -06:00
environ sched/: Review and correct some stylistic inconsistencies 2016-08-07 08:25:30 -06:00
errno Remove some empty file section section header comments 2016-02-17 18:05:03 -06:00
group Fix DEBUGASSERT() in group_signal.c 2016-12-04 06:52:08 -06:00
init C library: Add ffs(). Add strings.h. Move strcasecmp, strncasecmp, bzero, bcmp, and bcopy to where they belong in strings.h.h, not string.h. bzero, bcmp, and bcopy are legacy functions; the contemporary counterparts should be used instead. 2017-02-16 16:10:09 -06:00
irq Smaller vector tables: Add irq_mapped_t. 2017-03-03 10:20:40 -06:00
module Shared Libs: Implement module based shared libraries for the PROTECTED mode build 2017-01-29 13:03:53 -06:00
mqueue sigtimedwait: When timer expires, up_unblock_task() is called. This is okay in the single CPU case because interrupts are disable in the timer interrupt handler. But it is insufficient in the SMP case. enter_ and leave_critical_section() must be called in order to manage spinlocks correctly. 2017-02-24 10:07:23 -06:00
paging Without lowsyslog() *llinfo() is not useful. Eliminate and replace with *info(). 2016-06-20 11:59:15 -06:00
pthread Fix an assertion noted by Jussi Kivilinna. 2017-03-29 07:50:40 -06:00
sched sigtimedwait: When timer expires, up_unblock_task() is called. This is okay in the single CPU case because interrupts are disable in the timer interrupt handler. But it is insufficient in the SMP case. enter_ and leave_critical_section() must be called in order to manage spinlocks correctly. 2017-02-24 10:07:23 -06:00
semaphore sched/semaphore: Fix a warning aout an unused variable when priority inheritance is enabled. 2017-03-21 13:47:56 -06:00
signal Merged in masayuki2009/nuttx.nuttx/remove_unused_variable (pull request #233) 2017-03-02 12:39:32 +00:00
task Olimex-STM32-P407: Enable task names 2017-03-04 08:49:24 -06:00
timer sched/: Review and correct some stylistic inconsistencies 2016-08-07 08:32:11 -06:00
wdog Update some wdog-related comments 2017-02-24 10:58:37 -06:00
wqueue Guard from pend_reprios overlow 2017-03-15 07:42:55 -10:00
.gitignore .dSYM only needs to be in the same .gitignore files as .exe 2013-05-30 15:02:04 -06:00
Kconfig Correct some spacing 2017-03-27 10:49:41 -06:00
Makefile TLS: Simplify 2016-03-11 07:17:32 -06:00