summaryrefslogtreecommitdiffstats
path: root/cpukit/score/src/threadtimeout.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Add Status_Control for all APIsSebastian Huber2016-05-261-1/+2
| | | | | | | | | | | Unify the status codes of the Classic and POSIX API to use the new enum Status_Control. This eliminates the Thread_Control::Wait::timeout_code field and the timeout parameter of _Thread_queue_Enqueue_critical() and _MPCI_Send_request_packet(). It gets rid of the status code translation tables and instead uses simple bit operations to get the status for a particular API. This enables translation of status code constants at compile time. Add _Thread_Wait_get_status() to avoid direct access of thread internal data structures.
* score: Replace watchdog handler implementationSebastian Huber2016-03-041-2/+2
| | | | | | | | | Use a red-black tree instead of delta chains. Close #2344. Update #2554. Update #2555. Close #2606.
* Fix _Assert() statementSebastian Huber2015-11-251-1/+1
|
* score: Fix race condition on SMPSebastian Huber2015-11-121-19/+28
| | | | | | We must ensure that the Thread_Control::Wait information update is visible to the target thread before we update its wait flags, otherwise we may return out of date events or a wrong status.
* score: Use a plain ticket lock for thread locksSebastian Huber2015-07-301-1/+1
| | | | | | This enables external libraries to use thread locks since they are independent of the actual RTEMS build configuration, e.g. profiling enabled or disabled.
* score: New thread queue implementationSebastian Huber2015-05-191-0/+6
| | | | | | | | | Use thread wait flags for synchronization. The enqueue operation is now part of the initial critical section. This is the key change and enables fine grained locking on SMP for objects using a thread queue like semaphores and message queues. Update #2273.
* score: More thread queue operationsSebastian Huber2015-05-191-0/+6
| | | | | | | | | Move thread queue discipline specific operations into Thread_queue_Operations. Use a separate node in the thread control block for the thread queue to make it independent of the scheduler data structures. Update #2273.
* score: Generalize _Event_Timeout()Sebastian Huber2015-05-191-0/+74
Add a thread wait timeout code. Replace _Event_Timeout() with a general purpose _Thread_Timeout() watchdog handler. Update #2273.