Matteo Bruni : ntdll: Implement NtYieldExecution() as usleep().

Alexandre Julliard julliard at winehq.org
Thu Oct 7 16:21:21 CDT 2021


Module: wine
Branch: master
Commit: b1a79c6b9c3ada0c34b1411b60879962f1815e4d
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=b1a79c6b9c3ada0c34b1411b60879962f1815e4d

Author: Matteo Bruni <mbruni at codeweavers.com>
Date:   Wed Oct  6 15:53:57 2021 +0200

ntdll: Implement NtYieldExecution() as usleep().

Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 configure              | 1 -
 configure.ac           | 1 -
 dlls/ntdll/unix/sync.c | 6 +-----
 include/config.h.in    | 3 ---
 4 files changed, 1 insertion(+), 10 deletions(-)

diff --git a/configure b/configure
index 2ef854b50a9..877c62d9647 100755
--- a/configure
+++ b/configure
@@ -17913,7 +17913,6 @@ for ac_func in \
 	posix_fallocate \
 	prctl \
 	proc_pidinfo \
-	sched_yield \
 	setproctitle \
 	setprogname \
 	sigprocmask \
diff --git a/configure.ac b/configure.ac
index b17d1ab4c3d..1928a6503ea 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2145,7 +2145,6 @@ AC_CHECK_FUNCS(\
 	posix_fallocate \
 	prctl \
 	proc_pidinfo \
-	sched_yield \
 	setproctitle \
 	setprogname \
 	sigprocmask \
diff --git a/dlls/ntdll/unix/sync.c b/dlls/ntdll/unix/sync.c
index bbe7d53cba3..86a836a908f 100644
--- a/dlls/ntdll/unix/sync.c
+++ b/dlls/ntdll/unix/sync.c
@@ -1505,12 +1505,8 @@ NTSTATUS WINAPI NtSignalAndWaitForSingleObject( HANDLE signal, HANDLE wait,
  */
 NTSTATUS WINAPI NtYieldExecution(void)
 {
-#ifdef HAVE_SCHED_YIELD
-    sched_yield();
+    usleep(0);
     return STATUS_SUCCESS;
-#else
-    return STATUS_NO_YIELD_PERFORMED;
-#endif
 }
 
 
diff --git a/include/config.h.in b/include/config.h.in
index f262f8a0a12..e975ca8a55d 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -519,9 +519,6 @@
 /* Define to 1 if you have the `sched_setaffinity' function. */
 #undef HAVE_SCHED_SETAFFINITY
 
-/* Define to 1 if you have the `sched_yield' function. */
-#undef HAVE_SCHED_YIELD
-
 /* Define to 1 if `cmd' is a member of `scsireq_t'. */
 #undef HAVE_SCSIREQ_T_CMD
 




More information about the wine-cvs mailing list