diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | nptl/pthread_create.c | 12 |
2 files changed, 15 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog index 076c09df18..c75dab7ba4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2014-11-21 Roland McGrath <roland@hack.frob.com> + + * nptl/pthread_create.c (__pthread_create_2_1): Set + ATTR_FLAG_POLICY_SET and/or ATTR_FLAG_SCHED_SET in PD->flags + when copying values from IATTR into PD. + 2014-11-21 Will Newton <will.newton@linaro.org> Andrew Pinski <andrew.pinski@caviumnetworks.com> diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c index 3d4b8cd94e..0e96a2ea8f 100644 --- a/nptl/pthread_create.c +++ b/nptl/pthread_create.c @@ -596,10 +596,16 @@ __pthread_create_2_1 (newthread, attr, start_routine, arg) { /* Use the scheduling parameters the user provided. */ if (iattr->flags & ATTR_FLAG_POLICY_SET) - pd->schedpolicy = iattr->schedpolicy; + { + pd->schedpolicy = iattr->schedpolicy; + pd->flags |= ATTR_FLAG_POLICY_SET; + } if (iattr->flags & ATTR_FLAG_SCHED_SET) - /* The values were validated in pthread_attr_setschedparam. */ - pd->schedparam = iattr->schedparam; + { + /* The values were validated in pthread_attr_setschedparam. */ + pd->schedparam = iattr->schedparam; + pd->flags |= ATTR_FLAG_SCHED_SET; + } if ((pd->flags & (ATTR_FLAG_SCHED_SET | ATTR_FLAG_POLICY_SET)) != (ATTR_FLAG_SCHED_SET | ATTR_FLAG_POLICY_SET)) |