/* SPDX-License-Identifier: BSD-2-Clause */ /** * @file * * @ingroup POSIX_PTHREADS Private Threads * * @brief Private Support Information for POSIX Threads */ /* * COPYRIGHT (c) 1989-2014. * On-Line Applications Research Corporation (OAR). * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include /* * The default pthreads attributes structure. * * NOTE: Be careful .. if the default attribute set changes, * _POSIX_Threads_Initialize_user_threads will need to be examined. */ const pthread_attr_t _POSIX_Threads_Default_attributes = { .is_initialized = true, /* is_initialized */ .stackaddr = NULL, /* stackaddr */ .stacksize = 0, /* stacksize -- will be adjusted to minimum */ .contentionscope = PTHREAD_SCOPE_PROCESS, /* contentionscope */ .inheritsched = PTHREAD_INHERIT_SCHED, /* inheritsched */ .schedpolicy = SCHED_FIFO, /* schedpolicy */ .schedparam = { /* schedparam */ 2, /* sched_priority */ #if defined(_POSIX_SPORADIC_SERVER) || \ defined(_POSIX_THREAD_SPORADIC_SERVER) 0, /* sched_ss_low_priority */ { 0L, 0 }, /* sched_ss_repl_period */ { 0L, 0 }, /* sched_ss_init_budget */ 0 /* sched_ss_max_repl */ #endif }, #if HAVE_DECL_PTHREAD_ATTR_SETGUARDSIZE .guardsize = 0, /* guardsize */ #endif #if defined(_POSIX_THREAD_CPUTIME) .cputime_clock_allowed = 1, /* cputime_clock_allowed */ #endif .detachstate = PTHREAD_CREATE_JOINABLE, /* detachstate */ .affinitysetsize = sizeof( _POSIX_Threads_Default_attributes.affinitysetpreallocated ), .affinityset = RTEMS_DECONST( cpu_set_t *, &_POSIX_Threads_Default_attributes.affinitysetpreallocated ), .affinitysetpreallocated = { { -1L } } };