summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/include/rtems/posix
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-10-06 10:07:38 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-10-09 14:52:58 +0200
commitaf9115f35cfb3d0adeb3e105fd608883596f2637 (patch)
treed6638dc66e87ad1736f7675f79e7e6d116e5c463 /cpukit/posix/include/rtems/posix
parentscore: Change Timestamp_Control to sbintime_t (diff)
downloadrtems-af9115f35cfb3d0adeb3e105fd608883596f2637.tar.bz2
posix: Simplify POSIX_API_Control
Return stack area via pthread_getattr_np(). Simplify * pthread_attr_setaffinity_np(), and * pthread_attr_getaffinity_np() and let the scheduler do the more sophisticated error checks. Make * pthread_setaffinity_np(), * pthread_getaffinity_np(), * pthread_attr_setaffinity_np(), and * pthread_attr_getaffinity_np() available in all configurations. Update #2514. Close #3145. Close #3168.
Diffstat (limited to 'cpukit/posix/include/rtems/posix')
-rw-r--r--cpukit/posix/include/rtems/posix/pthreadimpl.h4
-rw-r--r--cpukit/posix/include/rtems/posix/threadsup.h10
2 files changed, 10 insertions, 4 deletions
diff --git a/cpukit/posix/include/rtems/posix/pthreadimpl.h b/cpukit/posix/include/rtems/posix/pthreadimpl.h
index 90a60b6c4d..290fbad02e 100644
--- a/cpukit/posix/include/rtems/posix/pthreadimpl.h
+++ b/cpukit/posix/include/rtems/posix/pthreadimpl.h
@@ -59,12 +59,12 @@ RTEMS_INLINE_ROUTINE void _POSIX_Threads_Sporadic_timer_insert(
)
{
the_thread->cpu_time_budget =
- _Timespec_To_ticks( &api->Attributes.schedparam.sched_ss_init_budget );
+ _Timespec_To_ticks( &api->schedparam.sched_ss_init_budget );
_Watchdog_Per_CPU_insert_relative(
&api->Sporadic.Timer,
_Per_CPU_Get(),
- _Timespec_To_ticks( &api->Attributes.schedparam.sched_ss_repl_period )
+ _Timespec_To_ticks( &api->schedparam.sched_ss_repl_period )
);
}
diff --git a/cpukit/posix/include/rtems/posix/threadsup.h b/cpukit/posix/include/rtems/posix/threadsup.h
index 3bb2210d97..cc250f7464 100644
--- a/cpukit/posix/include/rtems/posix/threadsup.h
+++ b/cpukit/posix/include/rtems/posix/threadsup.h
@@ -43,8 +43,14 @@ typedef struct {
/** Back pointer to thread of this POSIX API control. */
Thread_Control *thread;
- /** This is the POSIX threads attribute set. */
- pthread_attr_t Attributes;
+ /** Created with explicit or inherited scheduler. */
+ bool created_with_explicit_scheduler;
+
+ /** The scheduler policy. */
+ int schedpolicy;
+
+ /** The scheduler parameters */
+ struct sched_param schedparam;
/**
* @brief Control block for the sporadic server scheduling policy.