diff options
Diffstat (limited to 'nptl')
-rw-r--r-- | nptl/pthread_create.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/nptl/pthread_create.c b/nptl/pthread_create.c index 3d4b8cd..0e96a2e 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)) |