1From 2bb8b79b41eed87b843eb0159d6fa21a92c4c152 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 27 Jul 2017 08:02:51 -0700
4Subject: [PATCH] Replace pthread_yield with sched_yield
5
6On Linux pthead_yield is same as sched_yield implementation wise
7and sched_yield is available on all libc
8implementations on Linux
9
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11Upstream-Status: Pending
12---
13 tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp   | 4 ++--
14 tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp | 5 +++--
15 2 files changed, 5 insertions(+), 4 deletions(-)
16
17diff --git a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
18index 19b3289390..4d0cdf8b5f 100644
19--- a/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
20+++ b/tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp
21@@ -35,7 +35,7 @@
22 #include "tst_qvariant_common.h"
23
24 #ifdef Q_OS_LINUX
25-# include <pthread.h>
26+# include <sched.h>
27 #endif
28
29 #include <algorithm>
30@@ -369,7 +369,7 @@ protected:
31             const char *nm = name.constData();
32             int tp = qRegisterMetaType<Bar>(nm);
33 #if defined(Q_OS_LINUX) && !defined(Q_OS_ANDROID)
34-            pthread_yield();
35+            sched_yield();
36 #endif
37             QMetaType info(tp);
38             if (!info.isValid()) {
39diff --git a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
40index e397e80fe0..cdb7893e56 100644
41--- a/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
42+++ b/tests/auto/network/socket/qtcpsocket/tst_qtcpsocket.cpp
43@@ -78,6 +78,7 @@
44 #include <stdlib.h>
45 #include <sys/stat.h>
46 #include <unistd.h>
47+#include <sched.h>
48 #endif
49
50 #include <memory>
51@@ -2200,8 +2201,8 @@ public slots:
52
53 #if defined(Q_OS_MAC)
54         pthread_yield_np();
55-#elif defined Q_OS_LINUX && !defined Q_OS_ANDROID
56-        pthread_yield();
57+#elif defined Q_OS_LINUX
58+        sched_yield();
59 #endif
60         if (!sock->waitForConnected()) {
61             networkTimeout = true;
62