diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-06-16 07:28:58 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2020-06-18 07:09:34 +0200 |
commit | 46c23871813618e7a16050068041b3d33551cd0d (patch) | |
tree | c26f000d0857387806330031de7d9e91fe1d4aee /cpukit/rtems/src/taskcreate.c | |
parent | i386/pc: Initialise the printk serial port on first use (diff) | |
download | rtems-46c23871813618e7a16050068041b3d33551cd0d.tar.bz2 |
rtems: Remove RTEMS_MP_NOT_CONFIGURED error
Some objects can be created with a local or global scope in a
multiprocessing network. In non-multiprocessing configurations setting
the scope to local or global had no effect since such a system can be
viewed as a multiprocessing network with just one node. One and all
nodes is the same in such a network. However, if multiprocessing was
configured, creation of a global object in a single node network
resulted in an RTEMS_MP_NOT_CONFIGURED error. Remove this error
condition for symmetry to the non-multiprocessing setup. This is in line
with the task affinity behaviour in SMP systems.
Update #4005.
Diffstat (limited to 'cpukit/rtems/src/taskcreate.c')
-rw-r--r-- | cpukit/rtems/src/taskcreate.c | 12 |
1 files changed, 4 insertions, 8 deletions
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 /* |