summaryrefslogtreecommitdiffstats
path: root/cpukit/score/include/rtems/score/corerwlockimpl.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* posix: Implement self-contained POSIX rwlocksSebastian Huber2017-10-051-12/+56
| | | | | | | | POSIX rwlocks are now available in all configurations and no longer depend on --enable-posix. Update #2514. Update #3115.
* score: Simplify thread queue acquire/releaseSebastian Huber2016-09-081-8/+2
|
* cpukit: Add and use Watchdog_Discipline.Gedare Bloom2016-07-251-6/+0
| | | | | | | | | Clock disciplines may be WATCHDOG_RELATIVE, WATCHDOG_ABSOLUTE, or WATCHDOG_NO_TIMEOUT. A discipline of WATCHDOG_RELATIVE with a timeout of WATCHDOG_NO_TIMEOUT is equivalent to a discipline of WATCHDOG_NO_TIMEOUT. updates #2732
* score: Add Status_Control for all APIsSebastian Huber2016-05-261-28/+4
| | | | | | | | | | | 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: Move thread queue MP callout to contextSebastian Huber2016-05-251-18/+24
| | | | | | | | Drop the multiprocessing (MP) dependent callout parameter from the thread queue extract, dequeue, flush and unblock methods. Merge this parameter with the lock context into new structure Thread_queue_Context. This helps to gets rid of the conditionally compiled method call helpers.
* score: Avoid Giant lock for CORE rwlockSebastian Huber2016-04-221-3/+21
| | | | Update #2555.
* score: Rename _CORE_RWLock_Obtain()Sebastian Huber2016-04-211-3/+3
| | | | | | | | Rename _CORE_RWLock_Obtain_for_reading() into _CORE_RWLock_Seize_for_reading(). Rename _CORE_RWLock_Obtain_for_writing() into _CORE_RWLock_Seize_for_writing(). Rename _CORE_RWLock_Release() into _CORE_RWLock_Surrender(). This avoids confusion with the ISR lock acquire and release.
* score: Delete unused CORE_RWLock_AttributesSebastian Huber2016-04-211-15/+1
|
* score: _Thread_queue_Flush() parameter changesSebastian Huber2016-04-061-16/+0
| | | | | | | | | | | | Change _Thread_queue_Flush() into a macro that invokes _Thread_queue_Do_flush() with the parameter set defined by RTEMS_MULTIPROCESSING. For multiprocessing configurations add the object identifier to avoid direct use of the thread wait information. Use mp_ prefix for multiprocessing related parameters. Rename Thread_queue_Flush_callout to Thread_queue_MP_callout since this type will be re-used later for other operations as well.
* score: Delete MP support for RW locksSebastian Huber2016-04-061-27/+8
| | | | MP support was not implemented.
* score: Remove Thread_queue_Queue::operations fieldSebastian Huber2016-03-291-0/+2
| | | | | | | | | Remove the Thread_queue_Queue::operations field to reduce the size of this structure. Add a thread queue operations parameter to the _Thread_queue_First(), _Thread_queue_First_locked(), _Thread_queue_Enqueue(), _Thread_queue_Dequeue() and _Thread_queue_Flush() functions. This is a preparation patch to reduce the size of several synchronization objects.
* score: Add Thread_queue_Control::LockSebastian Huber2015-05-191-0/+8
| | | | | | | | | | | Move the complete thread queue enqueue procedure into _Thread_queue_Enqueue_critical(). It is possible to use the thread queue lock to protect state of the object embedding the thread queue. This enables per object fine grained locking in the future. Delete _Thread_queue_Enter_critical_section(). Update #2273.
* score: Delete _CORE_RWLock_Timeout()Sebastian Huber2015-04-221-15/+0
| | | | | This function was identical to _Thread_queue_Timeout(). This makes _Thread_queue_Enqueue_with_handler() obsolete.
* Change all references of rtems.com to rtems.org.Chris Johns2014-03-211-1/+1
|
* score: Include missing <rtems/score/thread.h>Sebastian Huber2013-07-261-0/+1
|
* score: Create threadq implementation headerSebastian Huber2013-07-261-1/+0
| | | | | | | | Move implementation specific parts of tqdata.h, threadq.h and threadq.inl into new header file threadqimpl.h. The threadq.h contains now only the application visible API. Delete tqdata.h.
* score: Avoid direct usage of _Thread_ExecutingSebastian Huber2013-07-221-1/+4
| | | | | | Pass the executing thread as a function parameter. Obtain the executing thread inside a thread dispatch critical section to avoid problems on SMP.
* score: Create rwlock implementation headerSebastian Huber2013-07-221-0/+201
Move implementation specific parts of corerwlock.h and corerwlock.inl into new header file corerwlockimpl.h. The corerwlock.h contains now only the application visible API.