[PATCH] Return invalid mode for !preempt and interrupt disable modes when SMP

Joel Sherrill joel at rtems.org
Thu Oct 12 18:45:57 UTC 2017


This impacts rtems_task_mode() and rtems_task_create().

Closes #3000.
---
 c-user/directive_status_codes.rst | 4 ++++
 c-user/task_manager.rst           | 8 ++++++++
 2 files changed, 12 insertions(+)

diff --git a/c-user/directive_status_codes.rst b/c-user/directive_status_codes.rst
index 420a0a0..a08ad1d 100644
--- a/c-user/directive_status_codes.rst
+++ b/c-user/directive_status_codes.rst
@@ -75,6 +75,10 @@ The directives are:
    - RTEMS inconsistency detected
  * - ``RTEMS_NO_MEMORY``
    - could not get enough memory
+ * - ``RTEMS_IO_ERROR``
+   - a driver error occurred
+ * - ``RTEMS_INVALID_MODE``
+   - attempted to set a task mode that is unavailable in SMP configurations
 
 .. raw:: latex
 
diff --git a/c-user/task_manager.rst b/c-user/task_manager.rst
index 426a91f..e52ab74 100644
--- a/c-user/task_manager.rst
+++ b/c-user/task_manager.rst
@@ -618,6 +618,10 @@ DIRECTIVE STATUS CODES:
         - ``id`` is NULL
       * - ``RTEMS_INVALID_NAME``
         - invalid task name
+      * - ``RTEMS_INVALID_MODE``
+        - non-preemption mode not available in SMP configurations
+      * - ``RTEMS_INVALID_MODE``
+        - interrupt disable portion of mode not available in SMP configurations
       * - ``RTEMS_INVALID_PRIORITY``
         - invalid task priority
       * - ``RTEMS_MP_NOT_CONFIGURED``
@@ -1256,6 +1260,10 @@ DIRECTIVE STATUS CODES:
 
       * - ``RTEMS_SUCCESSFUL``
         - task mode set successfully
+      * - ``RTEMS_INVALID_MODE``
+        - non-preemption mode not available in SMP configurations
+      * - ``RTEMS_INVALID_MODE``
+        - interrupt disable portion of mode not available in SMP configurations
       * - ``RTEMS_INVALID_ADDRESS``
         - ``previous_mode_set`` is NULL
 
-- 
1.8.3.1



More information about the devel mailing list