fix pthread_create return value with PTHREAD_EXPLICIT_SCHED
authorRich Felker <dalias@aerifal.cx>
Thu, 16 Aug 2018 16:16:36 +0000 (12:16 -0400)
committerRich Felker <dalias@aerifal.cx>
Thu, 16 Aug 2018 16:16:36 +0000 (12:16 -0400)
commit91e1e29d6dd92c5e707f05dcc9b2a376b0d8dfa1
tree537747c90415e28e9edb367190a156ea135fa752
parent1ad8138819ced49851e618c9c063aa0ffc86718c
fix pthread_create return value with PTHREAD_EXPLICIT_SCHED

due to moved code, commit b8742f32602add243ee2ce74d804015463726899
inadvertently used the return value of __clone, rather than the return
value of SYS_sched_setscheduler in the new thread, to check whether it
needed to report failure. since a successful __clone returns the tid
of the new thread, which is never zero, this caused pthread_create
always to return with an invalid error number in the code path for
PTHREAD_EXPLICIT_SCHED.

this regression was not present in any releases.
src/thread/pthread_create.c