| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
End the test with a normal exit instead of
INTERNAL_ERROR_THREAD_EXITTED.
|
|
|
|
| |
Update #3716.
|
|
|
|
|
|
|
| |
Ensure that the IDLE storage allocator did allocate a suffiently large area.
Update #3835.
Update #4524.
|
|
|
|
|
|
|
|
|
|
|
|
| |
By default, allocate the IDLE task storage areas from the RTEMS Workspace.
This avoids having to estimate the thread-local storage size in the default
configuration.
Add the application configuration option CONFIGURE_IDLE_TASK_STORAGE_SIZE to
request a static allocation of the task storage area for IDLE tasks.
Update #3835.
Update #4524.
|
|
|
|
|
| |
Ensure that the CPU_STACK_MINIMUM_SIZE is suffiently larger than the stack
usage in simple applications.
|
|
|
|
|
|
| |
Add the INTERNAL_ERROR_IDLE_THREAD_CREATE_FAILED fatal error in case the
creation of an idle thread fails. This may happen due to a failing create
extension provided by the application.
|
|
|
|
|
|
|
|
| |
Allow the IDLE stack allocator to change the stack size. This can be
used by applications with a very dynamic thread-local storage size to
adjust the thread storage area of the IDLE tasks dynamically.
Update #4524.
|
| |
|
|
|
|
| |
Update #4560.
|
|
|
|
|
| |
The thread-local storage area is located close to other stacks. Try to detect
overwrites.
|
|
|
|
| |
Close #4738.
|
| |
|
|
|
|
| |
Update #3716.
|
|
|
|
|
| |
This function was declared, however, a definition was missing. Add a
validation test for it.
|
|
|
|
|
|
|
| |
Directly use "static inline" which is available in C99 and later. This brings
the RTEMS implementation closer to standard C.
Close #3935.
|
|
|
|
| |
Update #3716.
|
|
|
|
| |
Update #4662.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
The CONFIGURE_UNIFIED_WORK_AREAS option pulls in a system initialization
handler which initializes the unified heap.
Close #4108.
|
|
|
|
| |
Closes #4713.
|
|
|
|
|
|
| |
Test this option in a configuration with only one processor.
Update #3716.
|
|
|
|
| |
Update #3716.
|
|
|
|
| |
Update #4702.
|
|
|
|
| |
Update #4702.
|
|
|
|
|
|
|
| |
It seems that recent GCC versions expect that functions with a "const type *"
parameter will read from the referenced location.
Update #4662.
|
|
|
|
|
|
| |
This gets rid of a cyclic dependency in the specification graph.
Update #3716.
|
|
|
|
| |
Update #3716.
|
|
|
|
| |
Update #4662.
|
|
|
|
| |
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.
|