summaryrefslogtreecommitdiffstats
path: root/cpukit/posix (follow)
Commit message (Collapse)AuthorAgeFilesLines
* score: Avoid Giant lock for _Thread_Start()Sebastian Huber2016-05-201-6/+2
| | | | Update #2555.
* posix: Rework pthread_join()Sebastian Huber2016-05-208-180/+107
| | | | | | | | | Rework pthread_join() to use _Thread_Join(). Close #2402. Update #2555. Update #2626. Close #2714.
* score: Avoid superfluous life protectionSebastian Huber2016-05-201-3/+0
| | | | | | | | Disable thread dispatching is enough to prevent deletion of the executing thread. There is no need for an additional life protection. Update #2555. Update #2626.
* score: Add _Thread_Exit()Sebastian Huber2016-05-201-1/+8
| | | | | | | | The goal is to make _Thread_Exit() a no-return function in follow up patches. Update #2555. Update #2626.
* posix: Fix return states of pthread_kill()Sebastian Huber2016-05-171-17/+11
| | | | | | POSIX mandates that an error code is returned and not -1 plus errno. Close #2715.
* posix: Fix return status of pthread_cancel()Sebastian Huber2016-05-171-1/+1
| | | | | | | POSIX recommends ESRCH in case no thread exists for the specified identifier. Close #2713.
* posix: Avoid Giant lock for some pthread functionsSebastian Huber2016-05-126-132/+98
| | | | | | | | Avoid Giant lock for pthread_getattr_np(), pthread_setschedparam() and pthread_getschedparam(). Replace POSIX threads scheduler lock with thread state lock. Update #2555.
* score: Avoid Giant lock _Scheduler_Get_affinity()Sebastian Huber2016-05-121-24/+25
| | | | Update #2555.
* score: Avoid Giant lock _Scheduler_Set_affinity()Sebastian Huber2016-05-122-31/+36
| | | | Update #2555.
* score: Introduce thread state lockSebastian Huber2016-05-121-9/+11
| | | | Update #2556.
* posix: Make _POSIX_signals_Action_handler() staticSebastian Huber2016-05-123-142/+126
|
* posix: Avoid Giant lock in pthread_equal()Sebastian Huber2016-05-061-51/+9
| | | | Update #2555.
* score: Optimize _Objects_Get_local()Sebastian Huber2016-05-027-26/+13
| | | | | Make the interrupt lock context the second parameter to avoid register moves.
* posix: Avoid Giant lock in _POSIX_signals_Send()Sebastian Huber2016-05-021-5/+7
| | | | | Update #2555. Update #2690.
* posix: Remove superfluous thread dispatch disableSebastian Huber2016-05-021-14/+12
| | | | | | | The _Thread_queue_Enqueue_critical() already deals with thread dispatching. Update #2555.
* score: Delete __RTEMS_STRICT_ORDER_MUTEX__Sebastian Huber2016-05-021-3/+0
| | | | | | Remove support for strict order mutexes. Close #2124.
* score: Avoid Giant lock for set time of daySebastian Huber2016-05-022-6/+2
| | | | | Update #2555. Update #2630.
* score: Streamline set time of day functionsSebastian Huber2016-05-021-1/+1
| | | | | | | Rename _TOD_Set() into _TOD_Set_with_timespec(). Rename _TOD_Set_with_timestamp() into _TOD_Set(). This is now in line with _TOD_Get() and _TOD_Get_as_timespec(). The timestamp is the canonical format.
* posix: Simplify message queuesSebastian Huber2016-05-0213-630/+354
| | | | | | | | | | | | The mq_open() function returns a descriptor to a POSIX message queue object identified by a name. This is similar to sem_open(). In contrast to the POSIX semaphore the POSIX message queues use a separate object for the descriptor. This extra object is superfluous, since the object identifier can be used directly for this purpose, just like for the semaphores. Update #2702. Update #2555.
* score: Move message notificationSebastian Huber2016-05-021-8/+15
| | | | | | | | Move message notification to end of critical section and delegate the message queue release to the notification handler. It may do more complex notification actions out of the critical section. Update #2555.
* score: _CORE_message_queue_Submit()Sebastian Huber2016-05-021-0/+5
| | | | | Move lock acquire to caller of _CORE_message_queue_Submit() to allow state checks during send operations under lock protection.
* score: _CORE_message_queue_Seize()Sebastian Huber2016-05-021-0/+5
| | | | | Move lock acquire to caller of _CORE_message_queue_Seize() to allow state checks during receive operations under lock protection.
* score: _CORE_message_queue_Close()Sebastian Huber2016-05-021-1/+5
| | | | | | Move lock acquire to caller of _CORE_message_queue_Close() to allow state checks during object close operations under lock protection. Ensures deletion safety on uni-processor configuration.
* posix: Delete POSIX_Message_queue_Control::namedSebastian Huber2016-05-022-2/+0
| | | | Delete unused POSIX_Message_queue_Control::named.
* posix: POSIX_Message_queue_Control::process_sharedSebastian Huber2016-05-022-4/+0
| | | | Delete unused POSIX_Message_queue_Control::process_shared.
* posix: _POSIX_Message_queue_Create_support()Sebastian Huber2016-05-024-151/+90
| | | | | Make _POSIX_Message_queue_Create_support() static since it is only used by mq_open().
* posix: Avoid Giant lock for condition variablesSebastian Huber2016-04-2712-234/+233
| | | | Update #2555.
* score: Avoid Giant lock for CORE rwlockSebastian Huber2016-04-2210-371/+177
| | | | Update #2555.
* score: Avoid Giant lock for barriersSebastian Huber2016-04-223-73/+46
| | | | | | Use _Thread_queue_Flush_critical() to atomically release the barrier. Update #2555.
* posix: Use _Objects_Get_local() for semaphoresSebastian Huber2016-04-226-168/+83
| | | | | This simplifies the code since the object location is no longer used. Remove superfluous header includes.
* score: Avoid Giant lock for CORE mtx/semSebastian Huber2016-04-225-62/+44
| | | | | | | Avoid Giant lock for CORE mutex and semaphore flush and delete operations. Update #2555.
* posix: Avoid Giant lock in sem_getvalue()Sebastian Huber2016-04-221-2/+11
| | | | Update #2555.
* score: Rename _CORE_RWLock_Obtain()Sebastian Huber2016-04-217-7/+7
| | | | | | | | 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: Rename _CORE_barrier_Wait()Sebastian Huber2016-04-211-1/+1
| | | | | | Rename _CORE_barrier_Wait() into _CORE_barrier_Seize(). Rename _CORE_barrier_Release() into _CORE_barrier_Surrender(). This avoids confusion with the ISR lock acquire and release.
* score: Optimize _Objects_Get_local()Sebastian Huber2016-04-212-2/+2
| | | | | Make the id the first parameter since usual callers get the object identifier as the first parameter themself.
* score: Optimize _Objects_Get_no_protection()Sebastian Huber2016-04-211-1/+1
| | | | | Make the id the first parameter since usual callers get the object identifier as the first parameter themself.
* score: Simplify _Objects_Initialize_information()Sebastian Huber2016-04-2110-56/+12
| | | | | | Remove unused supports_global parameter. Convert _Objects_Initialize_information() to a macro to avoid use of RTEMS_MULTIPROCESSING define for each caller.
* posix: Avoid Giant lock for mutexesSebastian Huber2016-04-216-100/+41
| | | | | | | Delete _POSIX_Mutex_Get(). Use _POSIX_Mutex_Get_interrupt_disable() instead. Update #2555.
* posix: Simplify _POSIX_Mutex_Get_interrupt_disableSebastian Huber2016-04-215-129/+65
| | | | Remove superfluous location parameter.
* posix: _POSIX_Condition_variables_Wait_support()Sebastian Huber2016-04-211-13/+5
| | | | | Simplify _POSIX_Condition_variables_Wait_support(), since there is no need to validate the mutex twice.
* score: Remove id parameter _CORE_mutex_Seize()Sebastian Huber2016-04-211-1/+0
| | | | Parameter was unused.
* score: Fix _CORE_semaphore_Flush()Sebastian Huber2016-04-214-9/+8
| | | | | | | Use proper CORE_semaphore_Status for _CORE_semaphore_Flush() and _CORE_semaphore_Destroy() operations. Close #2696.
* score: Simplify _CORE_message_queue_Close()Sebastian Huber2016-04-211-1/+0
| | | | | | | Drop status parameter since each caller used CORE_MESSAGE_QUEUE_STATUS_WAS_DELETED. Remove superfluous _CORE_message_queue_Flush().
* score: Delete unused CORE_RWLock_AttributesSebastian Huber2016-04-211-9/+1
|
* conddefaultattributes.c: Add default clock to structure.Joel Sherrill2016-04-141-7/+6
|
* posix/src/condattr*etpshared.c: Clean up and improve commentsJoel Sherrill2016-04-142-22/+5
|
* Add pthread_getconcurrency() and pthread_setconcurrency()Joel Sherrill2016-04-142-0/+43
| | | | | | | | | This is the very simple implementation specified by the Open Group for implementations with 1:1 kernel thread to user thread mappings. http://pubs.opengroup.org/onlinepubs/9699919799/functions/pthread_getconcurrency.html updates #2680.
* posix: Run key destructors during thread restartSebastian Huber2016-04-141-0/+10
| | | | | | | | | | POSIX key destructors must be called during thread restart. Just like the POSIX cleanup handlers. This ensures that the TLS object destructors are called during thread restart for example. It is important for the global construction, which uses a thread restart to run the Init task in a clean environment. Close #2689.
* posix: Rename killinfo()Sebastian Huber2016-04-125-5/+5
| | | | | | Apparently killinfo() is not defined by POSIX, glibc or FreeBSD. Rename killinfo() to _POSIX_signals_Send() to cleary mark it as an internal function.
* score: Simplify _Objects_Get_no_protection()Sebastian Huber2016-04-121-7/+2
| | | | | | | This functions supports only local objects. Thus, drop the location parameter which was unused by all callers. Remove superfluous includes from Classic Region implementation.