| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Updates #4662
|
|
|
|
| |
Updates #4662
|
|
|
|
|
|
| |
These uninitialized variables were causing warnings to be generated.
Updates #4662
|
|
|
|
| |
Updates #4662
|
|
|
|
|
|
| |
Changed format of size_t variable being printed.
Updates #4662
|
|
|
|
| |
Updates #4691.
|
| |
|
|
|
|
|
|
|
|
|
| |
This adds the configure option CONFIGURE_POSIX_TIMERS_FACE_BEHAVIOR
which allows the application to choose whether to have the POSIX
timer_create() function follow the behavior defined by POSIX or
the FACE Technical Standard.
Updates #4691.
|
|
|
|
|
|
| |
Add the direct BSP character ouput to the report hash.
Update #3716.
|
|
|
|
| |
Updates #4662
|
|
|
|
| |
Closes #4690
|
|
|
|
|
|
|
|
|
| |
A relative CLOCK_REALTIME time out shall not be affected by CLOCK_REALTIME
changes through clock_settime(). Since our CLOCK_REALTIME is basically just
CLOCK_MONOTONIC plus an offset, we can simply use the CLOCK_MONOTONIC watchdog
for relative CLOCK_REALTIME time outs.
Update #4690.
|
|
|
|
|
|
|
| |
Since commit 6a6580331df3e09516d50f37d4dd5fd57825c08a, the local table is
zero-initialized. Use an initial object control block instead.
Update #4678.
|
|
|
|
| |
Updates #4682
|
|
|
|
|
|
|
|
|
|
| |
The rtems_task_delete() directive is basically just a combined pthread_cancel()
and pthread_join(). In addition, it removes the PTHREAD_DETACHED state. The
exit value returned by pthread_join() of threads cancelled by
rtems_task_delete() should reflect this by getting a PTHREAD_CANCELED value
instead of NULL which could be a normal exit value.
Close #4680.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Threads may join the thread termination of another thread using the
pthread_join() or rtems_task_delete() directives. The thread cancel operation
used a special case priority boosting mechanism implemented by
_Thread_Raise_real_priority(). The problem was that this approach
* is not transitive,
* does not account for priority adjustments of the calling task
while waiting for the join,
* does not support clustered scheduling, and
* does not detect deadlocks.
All these problems are fixed by using a priority inheritance thread queue for
the join operation.
Close #4679.
|
|
|
|
| |
This fixes a test failure on 64-bit systems with RTEMS_DEBUG enabled.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The uniprocessor schedulers had some special case logic for the
PRIORITY_PSEUDO_ISR priority. Tasks with a priority of PRIORITY_PSEUDO_ISR
were allowed to preempt a not preemptible task. If other higher priority task
are made ready while a PRIORITY_PSEUDO_ISR task preempts a not preemptible
task, then the other tasks run before the not preemptible task. This made the
RTEMS_NO_PREEMPT mode ineffective.
Remove the PRIORITY_PSEUDO_ISR special case logic. This simplifies the
uniprocessor schedulers. Move the uniprocessor-specific scheduler support to
the new header file <rtems/score/scheduleruniimpl.h>.
Close #2365.
|
| |
|
|
|
|
|
|
|
|
|
| |
In case the Newlib _REENT_THREAD_LOCAL configuration option is enabled, the
struct _reent is not defined (there is only a forward declaration in
<sys/reent.h>). Instead, the usual members of struct _reent are available as
dedicatd thread-local storage objects.
Update #4560.
|
|
|
|
| |
Update #4560.
|
| |
|
|
|
|
| |
Update #4338.
|
|
|
|
|
|
|
| |
The objects control blocks cannot be used to check the pre-initialization state
since they are allocated in a .noinit section.
Update #4678.
|
|
|
|
| |
Update #4677.
|
|
|
|
|
|
| |
Dirty or zero also the part of the .noinit section used by RTEMS.
Close #4678.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Place the statically allocated object control blocks, local tables, and thread
queue heads into the dedicated .noinit intput sections. The output section is
not zero initialized. Placing these elements into the .noinit section reduces
the system initialization time by decreasing the .bss section size.
It may improve the cache efficiency since the mostly read local tables are
placed in a contiguous memory area.
Update #4678.
|
|
|
|
|
|
|
| |
Exceptions during system initialization work only on targets which do not need
a registration of exception frames during the global construction. In
particular, targets which use the DWARF2 unwinder cannot use exceptions during
system initialization.
|
|
|
|
|
| |
Commit 80090639a62b50d7d66614ca789e4592924a06e5 altered the system state
change. Account for this in assert_allocator_protected_thread_context().
|
|
|
|
| |
Update #3716.
|
|
|
|
| |
Update #2349.
|
|
|
|
| |
Update #3716.
|
|
|
|
| |
Update #3716.
|
|
|
|
| |
Update #3716.
|
|
|
|
|
|
|
| |
This particular state during a reconsider help request scheduler operation was
only covered by the existing test suites under some timing conditions.
Update #3716.
|
|
|
|
| |
Update #2349.
|
|
|
|
|
|
|
|
|
|
|
|
| |
At some point during system initialization, the idle threads are created.
Afterwards, the boot processor basically executes within the context of an idle
thread with thread dispatching disabled. On some architectures, the
thread-local storage area of the associated thread must be set in dedicated
processor registers. Add the new CPU port function to do this:
void _CPU_Use_thread_local_storage( const Context_Control *context )
Close #4672.
|
|
|
|
|
| |
The SHA512 functions may use huge amounts of stack space if compiled without
optimization.
|
|
|
|
| |
Prevent a stack overflow if RTEMS_COVERAGE is enabled.
|
|
|
|
| |
Update #4670.
|
|
|
|
| |
Update #4670.
|
|
|
|
|
| |
Update #4668.
Update #4672.
|
|
|
|
| |
Update #4667.
|
|
|
|
|
|
|
|
| |
Use CLOCK_REALTIME and CLOCK_MONOTONIC for relative thread queue timeouts
instead of CLOCK_REALTIME_COARSE and CLOCK_MONOTONIC_COARSE. This fixes an
issue with clock_nanosleep() in combination with clock_gettime().
Close #4669.
|
|
|
|
|
|
| |
The test uses snprintf().
Update #4666.
|
|
|
|
| |
Update #4666.
|
|
|
|
| |
Update #4666.
|
| |
|
|
|
|
| |
Updates #3053.
|
|
|
|
| |
Updates #3053.
|