summaryrefslogtreecommitdiffstats
path: root/cpukit/include/rtems/score/status.h (unfollow)
Commit message (Collapse)AuthorFilesLines
2023-05-20Update company nameSebastian Huber1-1/+1
The embedded brains GmbH & Co. KG is the legal successor of embedded brains GmbH.
2022-03-10cpukit/: Scripted embedded brains header file clean upJoel Sherrill1-6/+0
Updates #4625.
2022-02-28cpukit/include/rtems/score/[s-z]*.h: Change license to BSD-2Joel Sherrill1-3/+22
Updates #3053.
2021-11-23score: Properly continue the thread during restartSebastian Huber1-0/+2
The _Thread_queue_Extract() does not deal with potential priority updates and the SMP locking protocol handling. Use _Thread_queue_Continue(). For the POSIX signals processing this is currently probably unnecessary, however, the use case is similar to the restart so use the same appoach. Close #4546.
2021-04-27rtems: Change rtems_task_get_affinity() statusSebastian Huber1-0/+2
In case the processor set is not large enough to contain the processor affinity set of the task return RTEMS_INVALID_SIZE instead of RTEMS_INVALID_NUMBER. This is more in line with other directives since the issue is related to the size of an object. Close #4393.
2021-04-07score: Replace Objects_Name_or_id_lookup_errorsSebastian Huber1-0/+12
Replace Objects_Name_or_id_lookup_errors with new Status_Control codes. Get rid of the _Status_Object_name_errors_to_status lookup table.
2021-04-07score: Fix internal error status numberSebastian Huber1-2/+2
The value of STATUS_CLASSIC_INTERNAL_ERROR must be equal to RTEMS_INTERNAL_ERROR. Add static assertions to ensure that the status codes match.
2020-12-02score: Canonicalize Doxygen @file commentsSebastian Huber1-0/+21
Use common phrases for the file brief descriptions. Update #3706.
2020-09-28score: Improve _CORE_message_queue_Initialize()Sebastian Huber1-0/+6
Return a status code and differentiate between error conditions. Update #4007.
2020-02-04score: Optimize STATUS_BUILD()Sebastian Huber1-3/+5
Do not cast to unsigned int to avoid an unsigned long long enum type. Use a multiplication/division instead to preserve the signedness of the POSIX status.
2020-01-24Use EAGAIN for POSIX mq wait in ISR errorMartin Erik Werner1-1/+1
Modify the status code returned by _CORE_message_queue_Submit() when it detects a wait about to happen in an ISR (which would be deadly) to return a status which translated to EAGAIN instead of ENOMEM. This is only relevant for POSIX message queues, since Classic API message queues cannot block on send. The motivation is to match the "most related" errno value returned from mq_send() and mq_timedsend() according to POSIX, via Open Group: [EAGAIN] The O_NONBLOCK flag is set in the message queue description associated with mqdes, and the specified message queue is full. or via the RTEMS POSIX users documentation EAGAIN The message queue is non-blocking, and there is no room on the queue for another message as specified by the mq_maxmsg. Neither of these matches the case ofi avoided ISR wait perfectly, but they seem to be the closest equivalent, unless it is desirable to keep a new non-standard error for this case. It is presumed that this is not desirable. The previously returned ENOMEM error value is not documented in either the Open Group or the RTEMS POSIX uses documentation. A companion patch corrects the documentation to include this error condition. Based on the discussion in: https://lists.rtems.org/pipermail/devel/2020-January/056891.html closes #3857. Message-Id: <CAF9ehCW5P12ZkZja4UPYTbdBFUyC1VKVL-tU7nyUtvK1Lz2Z3g@mail.gmail.com>
2020-01-02mpci: Fix blocking proxy statusSebastian Huber1-0/+3
Remove THREAD_STATUS_PROXY_BLOCKING and replace it with STATUS_PROXY_BLOCKING.
2018-01-25Remove make preinstallChris Johns1-0/+0
A speciality of the RTEMS build system was the make preinstall step. It copied header files from arbitrary locations into the build tree. The header files were included via the -Bsome/build/tree/path GCC command line option. This has at least seven problems: * The make preinstall step itself needs time and disk space. * Errors in header files show up in the build tree copy. This makes it hard for editors to open the right file to fix the error. * There is no clear relationship between source and build tree header files. This makes an audit of the build process difficult. * The visibility of all header files in the build tree makes it difficult to enforce API barriers. For example it is discouraged to use BSP-specifics in the cpukit. * An introduction of a new build system is difficult. * Include paths specified by the -B option are system headers. This may suppress warnings. * The parallel build had sporadic failures on some hosts. This patch removes the make preinstall step. All installed header files are moved to dedicated include directories in the source tree. Let @RTEMS_CPU@ be the target architecture, e.g. arm, powerpc, sparc, etc. Let @RTEMS_BSP_FAMILIY@ be a BSP family base directory, e.g. erc32, imx, qoriq, etc. The new cpukit include directories are: * cpukit/include * cpukit/score/cpu/@RTEMS_CPU@/include * cpukit/libnetworking The new BSP include directories are: * bsps/include * bsps/@RTEMS_CPU@/include * bsps/@RTEMS_CPU@/@RTEMS_BSP_FAMILIY@/include There are build tree include directories for generated files. The include directory order favours the most general header file, e.g. it is not possible to override general header files via the include path order. The "bootstrap -p" option was removed. The new "bootstrap -H" option should be used to regenerate the "headers.am" files. Update #3254.
2017-10-05score: Make status codes unconditionalSebastian Huber1-9/+2
The internal status codes encode a Classic rtems_status_code and error codes used by the POSIX and C11/C++11 APIs. In case the POSIX API is disabled, the C11/C++11 support must still work. Close #3167.
2017-01-13score: Add _Thread_Set_name()Sebastian Huber1-0/+2
Add configuration option CONFIGURE_MAXIMUM_THREAD_NAME_SIZE. Update #2858.
2016-11-02score: First part of new MrsP implementationSebastian Huber1-2/+0
Update #2556.
2016-08-18score: Fix undefined behaviourSebastian Huber1-1/+1
Cast POSIX error codes to unsigned int to avoid undefined behaviour in case of PTHREAD_BARRIER_SERIAL_THREAD which is -1.
2016-07-01rtems: Fix rtems_task_set_scheduler() APISebastian Huber1-0/+2
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.
2016-06-22score: Introduce map priority scheduler operationSebastian Huber1-0/+3
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.
2016-06-22rtems: Rework RTEMS API to SuperCore prioritySebastian Huber1-0/+2
Use same structure as POSIX API for thread priority conversion to/from SuperCore.
2016-05-26score: Add Status_Control for all APIsSebastian Huber1-0/+129
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.