Make pthread_create more forgiving of invalid sched_policy.
Bug: 7005326

Change-Id: I4e33d8e7d70fbfcf8a1bcc0e4c33279b42092a0a
diff --git a/libc/bionic/pthread.c b/libc/bionic/pthread.c
index 14d2fec..da3a551 100644
--- a/libc/bionic/pthread.c
+++ b/libc/bionic/pthread.c
@@ -205,6 +205,8 @@
     pthread_exit((void*) result);
 }
 
+#include <private/logd.h>
+
 __LIBC_ABI_PRIVATE__
 int _init_thread(pthread_internal_t* thread, pid_t kernel_id, pthread_attr_t* attr,
                  void* stack_base, bool add_to_thread_list)
@@ -229,7 +231,9 @@
         struct sched_param param;
         param.sched_priority = thread->attr.sched_priority;
         if (sched_setscheduler(kernel_id, thread->attr.sched_policy, &param) == -1) {
-            error = errno;
+            // For back compat reasons, we just warn about possible invalid sched_policy
+            const char* msg = "pthread_create sched_setscheduler call failed: %s\n";
+            __libc_android_log_print(ANDROID_LOG_WARN, "libc", msg, strerror(errno));
         }
     }