summaryrefslogtreecommitdiffstats
path: root/cpukit/posix/src/pthreadcreate.c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-10-17 11:46:54 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-10-17 12:10:31 +0200
commit37eb717f90c04b9a2654ef5c5b247eb50652e54b (patch)
treea7b40d593bbccdf1e880faa2cd9f6bdafdf1747f /cpukit/posix/src/pthreadcreate.c
parentposix: Remove POSIX_API_Control::schedparam (diff)
downloadrtems-37eb717f90c04b9a2654ef5c5b247eb50652e54b.tar.bz2
posix: Simplify _POSIX_Threads_Create_extension()
Move unblocked signals initialization to pthread_create(). Update #2514.
Diffstat (limited to 'cpukit/posix/src/pthreadcreate.c')
-rw-r--r--cpukit/posix/src/pthreadcreate.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/cpukit/posix/src/pthreadcreate.c b/cpukit/posix/src/pthreadcreate.c
index 0de566f7c2..2315b7f5ee 100644
--- a/cpukit/posix/src/pthreadcreate.c
+++ b/cpukit/posix/src/pthreadcreate.c
@@ -74,6 +74,7 @@ int pthread_create(
Thread_Control *executing;
const Scheduler_Control *scheduler;
POSIX_API_Control *api;
+ const POSIX_API_Control *executing_api;
int schedpolicy = SCHED_RR;
struct sched_param schedparam;
Objects_Name name;
@@ -237,6 +238,9 @@ int pthread_create(
* finish initializing the per API structure
*/
api = the_thread->API_Extensions[ THREAD_API_POSIX ];
+ executing_api = executing->API_Extensions[ THREAD_API_POSIX ];
+
+ api->signals_unblocked = executing_api->signals_unblocked;
api->created_with_explicit_scheduler =
( the_attr->inheritsched == PTHREAD_EXPLICIT_SCHED );