mirror of
https://git.musl-libc.org/git/musl
synced 2025-02-22 21:24:15 +03:00
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.
This commit is contained in:
parent
1ad8138819
commit
91e1e29d6d
@ -306,6 +306,7 @@ int __pthread_create(pthread_t *restrict res, const pthread_attr_t *restrict att
|
||||
|
||||
if (do_sched) {
|
||||
__futexwait(&ssa.futex, -1, 1);
|
||||
ret = ssa.futex;
|
||||
if (ret) return ret;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user