| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Update #2555.
|
|
|
|
|
|
|
|
|
| |
Add _Thread_Change_life_locked() as a general function to alter the
thread life state. Use it to implement _Thread_Set_life_protection() as
a first step.
Update #2555.
Update #2626.
|
|
|
|
| |
Update #2714.
|
|
|
|
|
|
|
|
|
|
| |
Added only for evaluation purposes. We have to compare the performance
against the ticket lock on the interesting platforms via
smptests/smplock01.
The following GCC shortcoming affects the MCS lock:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66867
|
|
|
|
|
|
| |
Avoid output in signal handler to not disturb the timings which are
checked in this test. Use asserts to ensure proper signal handler
invocations.
|
|
|
|
|
|
| |
POSIX mandates that an error code is returned and not -1 plus errno.
Close #2715.
|
|
|
|
| |
Update #2714.
|
| |
|
| |
|
|
|
|
|
|
|
| |
POSIX recommends ESRCH in case no thread exists for the specified
identifier.
Close #2713.
|
|
|
|
|
|
|
| |
Fix overall clock tick count. Change introduced by
90d8567d34a6d80da04b1cb37b667a3173f584c4.
Update #2554.
|
|
|
|
|
|
|
| |
In addition protect scheduler of thread by thread state lock. Enables
use of scheduler per-instance locks.
Update #2555.
|
|
|
|
|
|
|
|
|
| |
The priority inheritance and ceiling CORE mutexes wrongly used the FIFO
queueing discipline. Delete misleading _CORE_mutex_Is_priority(). Bug
introduced by 1e1a91ed11458ddbb27b94d0001d8f0fc2ef7a97.
Add test sptests/spmutex01, since no existing uni-processor test covered
the thread priority queueing discipline for CORE mutexes.
|
|
|
|
|
| |
The _Objects_Information_table is statically initialized. So, we can
make it read-only.
|
|
|
|
|
| |
Update #2494.
Update #2555.
|
|
|
|
|
|
| |
Account for the terminating null character. Use _POSIX_PATH_MAX instead
of NAME_MAX according to _POSIX_Semaphore_Manager_initialization() and
_POSIX_Message_queue_Manager_initialization().
|
|
|
|
|
|
| |
Start with a copy of the Priority SMP scheduler implementation.
Update #2510.
|
|
|
|
|
|
| |
Remove support for strict order mutexes.
Close #2124.
|
|
|
|
| |
Update #2555.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Remove unused location parameter.
|
|
|
|
|
|
| |
Remove unused supports_global parameter. Convert
_Objects_Initialize_information() to a macro to avoid use of
RTEMS_MULTIPROCESSING define for each caller.
|
|
|
|
|
|
|
| |
Delete _POSIX_Mutex_Get(). Use _POSIX_Mutex_Get_interrupt_disable()
instead.
Update #2555.
|
|
|
|
|
|
|
| |
Use proper CORE_semaphore_Status for _CORE_semaphore_Flush() and
_CORE_semaphore_Destroy() operations.
Close #2696.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Add a lock and use a chain iterator for safe iteration during concurrent
user extension addition and removal.
Ensure that dynamically added thread delete and fatal extensions are
called in reverse order.
Update #2555.
Update #2692.
|
|
|
|
|
| |
Add a chain iterator for safe iteration of chains with concurrent node
extraction.
|
|
|
|
|
|
|
| |
This service was marked as deprecated long prior to the 4.11 release
series and is now being removed.
closes #2676.
|
|
|
|
|
|
|
|
|
| |
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 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.
|
| |
|
|
|
|
|
|
|
| |
Use a red-black tree to lookup active global objects by identifier or
name.
Update #2555.
|
|
|
|
| |
Update #2555.
|
|
|
|
|
|
|
|
|
|
|
| |
This field was only by the monitor in non-multiprocessing
configurations. Add new field Thread_Wait_information::remote_id in
multiprocessing configurations and use it for the remote procedure call
thread queue.
Add _Thread_Wait_get_id() to obtain the object identifier for debug and
system information tools. Ensure the object layout via static asserts.
Add test cases to sptests/spthreadq01.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
Fix a block of off-by-one indentation and add braces to clarify
intention.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Use the default thread lock to protect rate-monotonic state changes.
This avoids use of the Giant lock. Split rtems_rate_monotonic_period()
body into several static functions. Introduce a new thread wait class
THREAD_WAIT_CLASS_PERIOD for period objects to synchronize the blocking
operation.
Close #2631.
|
|
|
|
|
|
|
|
|
|
| |
Replace _Objects_Name_to_id_string() with _Objects_Get_by_name() since
all users of this function are interested in the object itself and not
the identifier.
Use the object allocator lock to protect the search.
Update #2555.
|
|
|
|
|
| |
This avoids a problem with the feature test macros introduced in Newlib
be657151f12f4d198e45395987f0a626ee1bbb91.
|
|
|
|
|
|
|
|
| |
Use the object allocator lock in _Objects_Get_next() instead of disabled
thread dispatching since object creation and deletion is covered by this
lock.
Update #2555.
|
|
|
|
|
|
| |
Create implementation header file.
Update #2555.
|
|
|
|
|
| |
This makes the test more reliable in case an interrupt driven console
driver is used.
|
|
|
|
|
|
|
|
|
| |
Use a red-black tree instead of delta chains.
Close #2344.
Update #2554.
Update #2555.
Close #2606.
|
| |
|