| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Close #2721.
|
|
|
|
| |
Close #2720.
|
|
|
|
| |
Close #2719.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Get rid of the mp_id parameter used for some thread queue methods. Use
THREAD_QUEUE_QUEUE_TO_OBJECT() instead.
|
| |
|
|
|
|
| |
Close #2718.
|
|
|
|
| |
Delete unused parameter.
|
|
|
|
| |
Delete unused parameter.
|
|
|
|
|
| |
Uniformly use *_Get() to get an object by identifier with a lock
context.
|
|
|
|
|
|
| |
Rename _Objects_Get_local() into _Objects_Get(). Confusions with the
previous _Objects_Get() function are avoided since the Objects_Locations
parameter is gone.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The priority values are only valid within a scheduler instance. Thus,
the maximum priority value must be defined per scheduler instance. The
first scheduler instance defines PRIORITY_MAXIMUM. This implies that
RTEMS_MAXIMUM_PRIORITY and POSIX_SCHEDULER_MAXIMUM_PRIORITY are only
valid for threads of the first scheduler instance. Further
API/implementation changes are necessary to fix this.
Update #2556.
|
|
|
|
| |
Update #2555.
|
|
|
|
|
|
|
|
| |
Add Thread_Life_state::THREAD_LIFE_CHANGE_DEFERRED and rework the POSIX
thread cancellation to use the thread life states.
Update #2555.
Update #2626.
|
|
|
|
| |
Update #2555.
|
|
|
|
|
|
|
|
|
| |
Rework pthread_join() to use _Thread_Join().
Close #2402.
Update #2555.
Update #2626.
Close #2714.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
The goal is to make _Thread_Exit() a no-return function in follow up
patches.
Update #2555.
Update #2626.
|
|
|
|
|
|
| |
POSIX mandates that an error code is returned and not -1 plus errno.
Close #2715.
|
|
|
|
|
|
|
| |
POSIX recommends ESRCH in case no thread exists for the specified
identifier.
Close #2713.
|
|
|
|
|
|
|
|
| |
Avoid Giant lock for pthread_getattr_np(), pthread_setschedparam() and
pthread_getschedparam(). Replace POSIX threads scheduler lock with
thread state lock.
Update #2555.
|
|
|
|
| |
Update #2555.
|
|
|
|
| |
Update #2555.
|
|
|
|
| |
Update #2556.
|
| |
|
|
|
|
| |
Update #2555.
|
|
|
|
|
| |
Make the interrupt lock context the second parameter to avoid register
moves.
|
|
|
|
|
| |
Update #2555.
Update #2690.
|
|
|
|
|
|
|
| |
The _Thread_queue_Enqueue_critical() already deals with thread
dispatching.
Update #2555.
|
|
|
|
|
|
| |
Remove support for strict order mutexes.
Close #2124.
|
|
|
|
|
| |
Update #2555.
Update #2630.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Move lock acquire to caller of _CORE_message_queue_Submit() to allow
state checks during send operations under lock protection.
|
|
|
|
|
| |
Move lock acquire to caller of _CORE_message_queue_Seize() to allow
state checks during receive operations under lock protection.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Delete unused POSIX_Message_queue_Control::named.
|
|
|
|
| |
Delete unused POSIX_Message_queue_Control::process_shared.
|
|
|
|
|
| |
Make _POSIX_Message_queue_Create_support() static since it is only used
by mq_open().
|
|
|
|
| |
Update #2555.
|
|
|
|
| |
Update #2555.
|
|
|
|
|
|
| |
Use _Thread_queue_Flush_critical() to atomically release the barrier.
Update #2555.
|
|
|
|
|
| |
This simplifies the code since the object location is no longer used.
Remove superfluous header includes.
|
|
|
|
|
|
|
| |
Avoid Giant lock for CORE mutex and semaphore flush and delete
operations.
Update #2555.
|
|
|
|
| |
Update #2555.
|
|
|
|
|
|
|
|
| |
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.
|