| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Close #3164.
|
|
|
|
| |
Update #2719.
|
|
|
|
|
|
| |
POSIX mandates that an error code is returned and not -1 plus errno.
Update #2715.
|
|
|
|
|
|
|
| |
POSIX recommends ESRCH in case no thread exists for the specified
identifier.
Update #2713.
|
|
|
|
| |
Updates #2405.
|
|
|
|
|
| |
Replace the extend function with an allocator since this fits better
to the current use case.
|
|
|
|
|
| |
Drop the <rtems/score/percpu.h> include since this file exposes a lot of
implementation details.
|
|
|
|
|
|
| |
Avoid Thread_Control typedef in <rtems/score/percpu.h>. This helps to
get rid of the <rtems/score/percpu.h> include in <rtems/score/thread.h>
which exposes a lot of implementation details.
|
|
|
|
|
|
| |
Add an assert to ensure that the watchdog is the proper state for a
_Watchdog_Initialize(). This helps to detect invalid initializations
which may lead to a corrupt watchdog chain.
|
| |
|
|
|
|
|
|
|
|
| |
Store the floating-point unit property in the thread control block
regardless of the CPU_HARDWARE_FP and CPU_SOFTWARE_FP settings. Make
sure the floating-point unit is only enabled for the corresponding
multilibs. This helps targets which have a volatile only floating point
context like SPARC for example.
|
|
|
|
| |
Close #2358.
|
|
|
|
|
| |
The _TOD_Get_zero_based_uptime_as_timespec() returns already the right
value.
|
|
|
|
|
|
|
|
| |
Replace timestamp implementation with FreeBSD bintime and timecounters.
New test sptests/sptimecounter02.
Update #2271.
|
|
|
|
|
|
|
| |
Use _Thread_Timeout() instead. Use pseudo thread queue for nanosleep()
to deal with signals.
Close #2130.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Move the writes to Thread_Control::current_priority and
Thread_Control::real_priority into _Thread_Change_priority() under the
protection of the thread lock. Add a filter function to
_Thread_Change_priority() to enable specialized variants.
Avoid race conditions during a thread priority restore with the new
Thread_Control::priority_restore_hint for an important average case
optimizations used by priority inheritance mutexes.
Update #2273.
|
|
|
|
| |
Update #2273.
|
|
|
|
| |
Rename _CORE_semaphore_Seize_isr_disable() to _CORE_semaphore_Seize().
|
|
|
|
| |
Update #2273.
|
|
|
|
|
|
|
|
|
|
|
| |
Aggregate several critical sections into a bigger one. Sending and
receiving messages is now protected by an ISR lock. Thread dispatching
is only disabled in case a blocking operation is necessary. The message
copy procedure is done inside the critical section (interrupts
disabled). Thus this change may have a negative impact on the interrupt
latency in case very large messages are transferred.
Update #2273.
|
|
|
|
|
| |
Use a parameter for _Thread_queue_Enqueue() instead to reduce memory
usage.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
Add watchdog header parameter to _Watchdog_Remove() to be in line with
the other operations. Add _Watchdog_Remove_ticks() and
_Watchdog_Remove_seconds() for convenience.
Update #2307.
|
|
|
|
|
|
| |
Avoid the usage of the current thread state in
_Thread_queue_Extract_with_return_code() since thread queues should not
know anything about thread states.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
A thread join is twofold. There is one thread that exists and an
arbitrary number of threads that wait for the thread exit (one-to-many
relation). The exiting thread may want to wait for a thread that wants
to join its exit (STATES_WAITING_FOR_JOIN_AT_EXIT in
_POSIX_Thread_Exit()). On the other side we need a thread queue for all
the threads that wait for the exit of one particular thread
(STATES_WAITING_FOR_JOIN in pthread_join()).
Update #2035.
|
|
|
|
|
| |
Use a parameter for _Thread_queue_Enqueue() instead to reduce memory
usage.
|
|
|
|
|
| |
It makes no sense to use this indirection since the type for timeout
values is Watchdog_Interval.
|
|
|
|
|
|
|
|
| |
Do not disable thread dispatching and do not acquire the Giant lock.
This makes it possible to use this object get variant for fine grained
locking.
Update #2273.
|
|
|
|
|
|
|
| |
Use ISR_lock_Context instead of ISR_Level to allow use of ISR locks for
low-level locking.
Update #2273.
|
|
|
|
| |
closes 2319.
|
|
|
|
|
|
| |
updates 2319.
Signed-off-by: Daniel Krueger <daniel.krueger@systec-electronic.com>
|
|
|
|
| |
Update #2307.
|
|
|
|
|
|
|
| |
This resulted in the elapsed time going below 0 and an arbitrarily large
number returned as the time remaining.
closes #2296.
|
| |
|
|
|
|
| |
mmap was previously in munmap.c and munmap was in mmap.c.
|
| |
|
|
|
|
|
| |
This change is also valid for 16-bit object type architectures since in
this case POSIX_Semaphore_Control::Semaphore_id is used as a proxy.
|
|
|
|
| |
This is the standard NULL pointer.
|
|
|
|
| |
Remove rtems_set_errno_and_return_minus_one_cast().
|
| |
|
| |
|
|
|
|
|
|
|
| |
Deliver the POSIX signals after the thread state was updated to avoid
race-conditions on SMP configurations.
Update #2273.
|
|
|
|
|
|
|
|
|
| |
pthread_mutex_trylock() should return EBUSY if the mutex is already
locked. The translations of CORE_MUTEX_STATUS_NESTING_NOT_ALLOWED is
EDEADLK which is correct for pthread_mutex_lock(). This fixes the
translation for trylock.
Closes #2170.
|
|
|
|
| |
Close #1759.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
CodeSonar flagged this as an empty if body. Upon analysis, it turned
out to be an error that we think should never occur but if it did,
there is nothing we could do about it. It would likely just indicate
the thread was deleted before we got here. Adding the _Assert() at least
will flag this if it ever occurs during a debug build and we can discuss
what happened.
|
|
|
|
|
|
| |
* Makefile.am updated and preinstall.am regenerated.
* mprotect.c had a prototype removed now that we have mman.h
* mmap.c, munmap.c: New stub files.
|