diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-10-10 07:13:37 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-10-10 07:17:51 +0200 |
commit | 4f9ed26655c2659fcf697a281cb401aa919849bf (patch) | |
tree | b73d6b1fae44a8101e0c46f88a8729c074d6d5f4 /cpukit | |
parent | posix: Simplify pthread_attr_setstack() (diff) | |
download | rtems-4f9ed26655c2659fcf697a281cb401aa919849bf.tar.bz2 |
posix: Constify default thread processor affinity
Set default thread processor affinity to all processors of the
pre-allocated set. This allows to constify the
_POSIX_Threads_Default_attributes.
Update #2514.
Diffstat (limited to 'cpukit')
-rw-r--r-- | cpukit/posix/include/rtems/posix/pthreadimpl.h | 2 | ||||
-rw-r--r-- | cpukit/posix/src/pthread.c | 19 |
2 files changed, 3 insertions, 18 deletions
diff --git a/cpukit/posix/include/rtems/posix/pthreadimpl.h b/cpukit/posix/include/rtems/posix/pthreadimpl.h index 9e5314b2c2..6b338f9d5c 100644 --- a/cpukit/posix/include/rtems/posix/pthreadimpl.h +++ b/cpukit/posix/include/rtems/posix/pthreadimpl.h @@ -51,7 +51,7 @@ extern Thread_Information _POSIX_Threads_Information; /** * This variable contains the default POSIX Thread attributes. */ -extern pthread_attr_t _POSIX_Threads_Default_attributes; +extern const pthread_attr_t _POSIX_Threads_Default_attributes; RTEMS_INLINE_ROUTINE void _POSIX_Threads_Sporadic_timer_insert( Thread_Control *the_thread, diff --git a/cpukit/posix/src/pthread.c b/cpukit/posix/src/pthread.c index 1d791df7eb..171d0366df 100644 --- a/cpukit/posix/src/pthread.c +++ b/cpukit/posix/src/pthread.c @@ -49,7 +49,7 @@ Thread_Information _POSIX_Threads_Information; * NOTE: Be careful .. if the default attribute set changes, * _POSIX_Threads_Initialize_user_threads will need to be examined. */ -pthread_attr_t _POSIX_Threads_Default_attributes = { +const pthread_attr_t _POSIX_Threads_Default_attributes = { .is_initialized = true, /* is_initialized */ .stackaddr = NULL, /* stackaddr */ .stacksize = 0, /* stacksize -- will be adjusted to minimum */ @@ -79,7 +79,7 @@ pthread_attr_t _POSIX_Threads_Default_attributes = { sizeof( _POSIX_Threads_Default_attributes.affinitysetpreallocated ), .affinityset = &_POSIX_Threads_Default_attributes.affinitysetpreallocated, - .affinitysetpreallocated = {{0x1}} + .affinitysetpreallocated = { { -1L } } }; void _POSIX_Threads_Sporadic_timer( Watchdog_Control *watchdog ) @@ -243,21 +243,6 @@ User_extensions_Control _POSIX_Threads_User_extensions = { */ static void _POSIX_Threads_Manager_initialization(void) { - #if defined(RTEMS_SMP) - const CPU_set_Control *affinity; - pthread_attr_t *attr; - - /* Initialize default attribute. */ - attr = &_POSIX_Threads_Default_attributes; - - /* Initialize the affinity to be the default cpu set for the system */ - affinity = _CPU_set_Default(); - _Assert( affinity->setsize == sizeof( attr->affinitysetpreallocated ) ); - attr->affinityset = &attr->affinitysetpreallocated; - attr->affinitysetsize = affinity->setsize; - CPU_COPY( affinity->set, attr->affinityset ); - #endif - _Thread_Initialize_information( &_POSIX_Threads_Information, /* object information table */ OBJECTS_POSIX_API, /* object API */ |