| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Task priorities are only valid within a scheduler instance. The
rtems_task_set_scheduler() directive moves a task from one scheduler
instance to another using the current priority of the thread. However,
the current task priority of the source scheduler instance is undefined
in the target scheduler instance. Add a third parameter to specify the
priority.
Close #2749.
|
| |
|
| |
|
|
|
|
|
|
|
| |
This implementation just falls back to giving a string representation of
the IP. It supports IPv4 only.
Add test for getnameinfo().
|
|
|
|
|
| |
The dummy for setgroups() allows applications using it to build (for example
civetweb webserver).
|
|
|
|
|
|
|
|
| |
A 32-bit Priority_Control limits the uptime to 49 days with a 1ms clock
tick in case the EDF scheduler is used. Increase it to 64-bit to enable
proper operation of the EDF scheduler,
Close 2173.
|
|
|
|
|
|
| |
Increase the invalid priority values to support test runs with
alternative schedulers offering a significant higher maximum priority
value, e.g. EDF.
|
|
|
|
| |
This is an implementation detail of the EDF scheduler.
|
|
|
|
|
| |
This test uses scheduler-specific data structures, thus it must use the
right scheduler.
|
| |
|
|
|
|
|
|
|
| |
Commit 77ff5599e0d8e6d91190a379be21a332f83252b0 introduced a change in
the rtems_semaphore_create() behaviour for MrsP semaphores. The ceiling
priorities for all schedulers except the scheduler of the executing
thread are initialized to zero.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The thread priority is manifest in two independent areas. One area is
the user visible thread priority along with a potential thread queue.
The other is the scheduler. Currently, a thread priority update via
_Thread_Change_priority() first updates the user visble thread priority
and the thread queue, then the scheduler is notified if necessary. The
priority is passed to the scheduler via a local variable. A generation
counter ensures that the scheduler discards out-of-date priorities.
This use of a local variable ties the update in these two areas close
together. For later enhancements and the OMIP locking protocol
implementation we need more flexibility. Add a thread priority
information block to Scheduler_Node and synchronize priority value
updates via a sequence lock on SMP configurations.
Update #2556.
|
|
|
|
|
|
|
|
|
|
|
| |
Introduce map/unmap priority scheduler operations to map thread priority
values from/to the user domain to/from the scheduler domain. Use the
map priority operation to validate the thread priority. The EDF
schedulers use this new operation to distinguish between normal
priorities and priorities obtain through a job release.
Update #2173.
Update #2556.
|
|
|
|
|
| |
Use same structure as POSIX API for thread priority conversion to/from
SuperCore.
|
|
|
|
|
|
|
| |
Accept all priority values in pthread_mutexattr_setprioceiling(). This
is in line with POSIX and FreeBSD. The priority is validated in
pthread_mutex_init(). Validate the priority only for priority ceiling
mutexes.
|
|
|
|
| |
This avoids test failures due to slow output devices.
|
|
|
|
|
|
| |
The RTEMS print user need to know nothing about a particular printer
implementation. In particular get rid of the <stdio.h> include which
would be visible via <rtems.h>.
|
| |
|
|
|
|
|
| |
Rename RTEMS_PRINTF_ATTRIBUTE() into RTEMS_PRINTFLIKE() (similar to
<sys/cdefs.h> __printflike()) and move it to <rtems/score/basedefs.h>.
|
|
|
|
|
| |
Resurrect workaround accidentially removed by
3e2a3c49480b9888362d016dd202edd562d9e069.
|
| |
|
| |
|
| |
|
|
|
|
| |
updates #2608.
|
| |
|
| |
|
|
|
|
| |
Update #2738.
|
|
|
|
| |
Update #2738.
|
| |
|
|
|
|
|
|
| |
Enable for all configurations since it pulls in no additional
dependencies. Return value of the scheduler instance of the executing
thread.
|
|
|
|
|
| |
Enable for all configurations since it pulls in no additional
dependencies.
|
|
|
|
| |
Close #2734.
|
|
|
|
| |
Close #2735.
|
|
|
|
|
|
| |
Return the unmodified thread priority value according to POSIX.
Close #2736.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Classic binary semaphores without a locking protocol
(RTEMS_BINARY_SEMAPHORE) could be released by everyone, e.g. in contrast
to the POSIX mutexes (all variants) or the Classic binary semphores with
priority inheritance or ceiling, there was no owner check in the release
path.
This behaviour was a bit unexpected and not documented. Add an owner
check to the release path. Update sptests/sp42 accordingly.
This change has nothing to do with the simple binary semaphores
(RTEMS_SIMPLE_BINARY_SEMAPHORE) which have no owner at all.
Update #2725
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Support creating directories for files with a path depth greater than 1. Some
tar files can have files with a path depth greater than 1 and no directory
entry in the tar file to create a directory.
Support overwriting existing files and directories failing in a similar
way to tar on common hosts. If a file is replaced with a file delete the
file and create a new file. If a directory replaces a file remove the file
and create the directory. If a file replaces a directory remove the directory,
and if the directory is not empty and cannot be removed report an error. If a
directory alreday exists do nothing leaving the contents untouched.
The untar code now shares the common header parsing and initial processing
with the actual writes still separate. No changes to the IMFS have been made.
Updates #2415.
Closes #2207.
|
|
|
|
|
| |
Demonstrate that a read-modify-write atomic operation may be necessary
on some archtitectures to observe the latest value written.
|
| |
|
|
|
|
|
| |
Remove superfluous support for simple binary semaphores. With this we
can get rid of the CORE_MUTEX_NESTING_BLOCKS variant.
|
|
|
|
|
|
|
|
|
|
|
| |
Move the safety check performed by
_CORE_mutex_Check_dispatch_for_seize() out of the performance critical
path and generalize it. Blocking on a thread queue with an unexpected
thread dispatch disabled level is illegal in all system states.
Add the expected thread dispatch disable level (which may be 1 or 2
depending on the operation) to Thread_queue_Context and use it in
_Thread_queue_Enqueue_critical().
|
|
|
|
|
|
| |
Add _Thread_queue_Context_set_MP_callout() to simplify
_Thread_queue_Context_initialize(). This makes it possible to more
easily add additional fields to Thread_queue_Context.
|
|
|
|
|
|
|
|
|
|
|
| |
Unify the status codes of the Classic and POSIX API to use the new enum
Status_Control. This eliminates the Thread_Control::Wait::timeout_code
field and the timeout parameter of _Thread_queue_Enqueue_critical() and
_MPCI_Send_request_packet(). It gets rid of the status code translation
tables and instead uses simple bit operations to get the status for a
particular API. This enables translation of status code constants at
compile time. Add _Thread_Wait_get_status() to avoid direct access of
thread internal data structures.
|
|
|
|
| |
Close #2721.
|
|
|
|
| |
Close #2720.
|
| |
|
| |
|