NPTL: Fix pthread_create regression from default-sched.h refactoring.
authorRoland McGrath <roland@hack.frob.com>
Fri, 21 Nov 2014 22:16:47 +0000 (14:16 -0800)
committerRoland McGrath <roland@hack.frob.com>
Fri, 21 Nov 2014 22:16:47 +0000 (14:16 -0800)
ChangeLog
nptl/pthread_create.c

index 076c09d..c75dab7 100644 (file)
--- 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>
 
index 3d4b8cd..0e96a2e 100644 (file)
@@ -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))