Make pthread_create report sched_setscheduler failures on LP64.
We couldn't fix this for 32-bit because there's too much broken code out there. (Pretty much everyone asks for real-time scheduling for all their threads, and the kernel says "don't be stupid".) Change-Id: I43c5271e6b6bb91278b9a19eec08cbf05391e3c4
This commit is contained in:
@@ -91,8 +91,10 @@ int _init_thread(pthread_internal_t* thread, bool add_to_thread_list) {
|
||||
struct sched_param param;
|
||||
param.sched_priority = thread->attr.sched_priority;
|
||||
if (sched_setscheduler(thread->tid, thread->attr.sched_policy, ¶m) == -1) {
|
||||
// For backwards compatibility reasons, we just warn about failures here.
|
||||
// error = errno;
|
||||
#if __LP64__
|
||||
// For backwards compatibility reasons, we only report failures on 64-bit devices.
|
||||
error = errno;
|
||||
#endif
|
||||
__libc_format_log(ANDROID_LOG_WARN, "libc",
|
||||
"pthread_create sched_setscheduler call failed: %s", strerror(errno));
|
||||
}
|
||||
|
Reference in New Issue
Block a user