summaryrefslogtreecommitdiffstats
path: root/cpukit/rtems/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpukit/rtems/src')
-rw-r--r--cpukit/rtems/src/msgqcreate.c8
-rw-r--r--cpukit/rtems/src/partcreate.c6
-rw-r--r--cpukit/rtems/src/semcreate.c7
-rw-r--r--cpukit/rtems/src/taskcreate.c12
4 files changed, 14 insertions, 19 deletions
diff --git a/cpukit/rtems/src/msgqcreate.c b/cpukit/rtems/src/msgqcreate.c
index 9d4e8cdfd6..3741347cc9 100644
--- a/cpukit/rtems/src/msgqcreate.c
+++ b/cpukit/rtems/src/msgqcreate.c
@@ -52,9 +52,11 @@ rtems_status_code rtems_message_queue_create(
return RTEMS_INVALID_ADDRESS;
#if defined(RTEMS_MULTIPROCESSING)
- if ( (is_global = _Attributes_Is_global( attribute_set ) ) &&
- !_System_state_Is_multiprocessing )
- return RTEMS_MP_NOT_CONFIGURED;
+ if ( !_System_state_Is_multiprocessing ) {
+ attribute_set = _Attributes_Clear( attribute_set, RTEMS_GLOBAL );
+ }
+
+ is_global = _Attributes_Is_global( attribute_set );
#endif
if ( count == 0 )
diff --git a/cpukit/rtems/src/partcreate.c b/cpukit/rtems/src/partcreate.c
index 2aefce8067..9aa5e80bf1 100644
--- a/cpukit/rtems/src/partcreate.c
+++ b/cpukit/rtems/src/partcreate.c
@@ -66,9 +66,9 @@ rtems_status_code rtems_partition_create(
return RTEMS_INVALID_ADDRESS;
#if defined(RTEMS_MULTIPROCESSING)
- if ( _Attributes_Is_global( attribute_set ) &&
- !_System_state_Is_multiprocessing )
- return RTEMS_MP_NOT_CONFIGURED;
+ if ( !_System_state_Is_multiprocessing ) {
+ attribute_set = _Attributes_Clear( attribute_set, RTEMS_GLOBAL );
+ }
#endif
the_partition = _Partition_Allocate();
diff --git a/cpukit/rtems/src/semcreate.c b/cpukit/rtems/src/semcreate.c
index 6cdd877cce..b57b635d85 100644
--- a/cpukit/rtems/src/semcreate.c
+++ b/cpukit/rtems/src/semcreate.c
@@ -57,11 +57,8 @@ rtems_status_code rtems_semaphore_create(
return RTEMS_INVALID_ADDRESS;
#if defined(RTEMS_MULTIPROCESSING)
- if (
- _Attributes_Is_global( attribute_set )
- && !_System_state_Is_multiprocessing
- ) {
- return RTEMS_MP_NOT_CONFIGURED;
+ if ( !_System_state_Is_multiprocessing ) {
+ attribute_set = _Attributes_Clear( attribute_set, RTEMS_GLOBAL );
}
#endif
diff --git a/cpukit/rtems/src/taskcreate.c b/cpukit/rtems/src/taskcreate.c
index 288eafa5c7..b430d3c705 100644
--- a/cpukit/rtems/src/taskcreate.c
+++ b/cpukit/rtems/src/taskcreate.c
@@ -111,15 +111,11 @@ rtems_status_code rtems_task_create(
}
#if defined(RTEMS_MULTIPROCESSING)
- if ( _Attributes_Is_global( the_attribute_set ) ) {
-
- is_global = true;
-
- if ( !_System_state_Is_multiprocessing )
- return RTEMS_MP_NOT_CONFIGURED;
+ if ( !_System_state_Is_multiprocessing ) {
+ the_attribute_set = _Attributes_Clear( the_attribute_set, RTEMS_GLOBAL );
+ }
- } else
- is_global = false;
+ is_global = _Attributes_Is_global( the_attribute_set );
#endif
/*