Replaced calls to KERNEL.Yield16 by calls to KERNEL32.K32WOWYield from outside libkernel.so.
diff --git a/dlls/winmm/mmsystem.c b/dlls/winmm/mmsystem.c index 7d2c53e..c1583d9 100644 --- a/dlls/winmm/mmsystem.c +++ b/dlls/winmm/mmsystem.c
@@ -22,7 +22,6 @@ #include "winbase.h" #include "wingdi.h" -#include "wine/winbase16.h" #include "wine/winuser16.h" #include "heap.h" #include "winemm.h" @@ -4967,7 +4966,7 @@ MSG msg; if (PeekMessageA(&msg, 0, 0, 0, 0)) { - Yield16(); + K32WOWYield16(); } } @@ -5248,12 +5247,12 @@ TRACE("[30-%08x]\n", lpMMThd->hThread); while (lpMMThd->dwCounter) { Sleep(1); - /* Yield16();*/ + /* K32WOWYield16();*/ } TRACE("[XX-%08x]\n", lpMMThd->hThread); /* paranoia */ lpMMThd->dwSignature = WINE_MMTHREAD_DELETED; - /* close lpMMThread->hVxD directio */ + /* close lpMMThread->hVxD directIO */ if (lpMMThd->hEvent) CloseHandle(lpMMThd->hEvent); GlobalFree16(hndl);
diff --git a/include/wine/winbase16.h b/include/wine/winbase16.h index 172f407..8a00d42 100644 --- a/include/wine/winbase16.h +++ b/include/wine/winbase16.h
@@ -325,7 +325,9 @@ void WINAPI UnlockSegment16(HGLOBAL16); BOOL16 WINAPI WritePrivateProfileString16(LPCSTR,LPCSTR,LPCSTR,LPCSTR); BOOL16 WINAPI WriteProfileString16(LPCSTR,LPCSTR,LPCSTR); +/* Yield16 will only be available from kernel module, use K32WOWYield instead */ VOID WINAPI Yield16(void); +VOID WINAPI K32WOWYield16(void); SEGPTR WINAPI lstrcat16(SEGPTR,LPCSTR); SEGPTR WINAPI lstrcatn16(SEGPTR,LPCSTR,INT16); SEGPTR WINAPI lstrcpy16(SEGPTR,LPCSTR);
diff --git a/windows/message.c b/windows/message.c index 150201a..4582203 100644 --- a/windows/message.c +++ b/windows/message.c
@@ -2020,7 +2020,7 @@ /* * Then, let the 16 bit scheduler do it's thing. */ - Yield16(); + K32WOWYield16(); /* * If a message matching the wait mask has arrived, return.
diff --git a/windows/queue.c b/windows/queue.c index cdd3d85..39563f2 100644 --- a/windows/queue.c +++ b/windows/queue.c
@@ -745,7 +745,7 @@ QUEUE_Unlock( queue ); return 0; /* exit with timeout */ } - Yield16(); + K32WOWYield16(); } } }
diff --git a/windows/winhelp.c b/windows/winhelp.c index 012d4fd..ff690f8 100644 --- a/windows/winhelp.c +++ b/windows/winhelp.c
@@ -44,7 +44,7 @@ /* try to start the 16-bit winhelp */ if (WinExec( "winhelp.exe -x", SW_SHOWNORMAL ) >= 32) { - Yield16(); + K32WOWYield16(); ret = WinHelpA( hWnd, lpHelpFile, wCommand, (DWORD)MapSL(dwData) ); } }