diff options
author | Magnus Holmgren <magnushol@gmail.com> | 2005-07-19 20:43:21 +0000 |
---|---|---|
committer | Magnus Holmgren <magnushol@gmail.com> | 2005-07-19 20:43:21 +0000 |
commit | d315dfb5b1a0852d8665ef88042a9272d0b14ac5 (patch) | |
tree | 09b541b54e1fd5a2c74287ea58f882aa2cdf25cf /uisimulator/win32/uisw32.c | |
parent | d83b659fa7206b150779274635a013def1ed850e (diff) | |
download | rockbox-d315dfb5b1a0852d8665ef88042a9272d0b14ac5.tar.gz rockbox-d315dfb5b1a0852d8665ef88042a9272d0b14ac5.zip |
Made Win32 thread management similar to the X11 one (previously yield() could make a thread stop, seemingly forever).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7202 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'uisimulator/win32/uisw32.c')
-rw-r--r-- | uisimulator/win32/uisw32.c | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/uisimulator/win32/uisw32.c b/uisimulator/win32/uisw32.c index 02697be443..f492b9de36 100644 --- a/uisimulator/win32/uisw32.c +++ b/uisimulator/win32/uisw32.c | |||
@@ -262,10 +262,9 @@ int GUIDown () | |||
262 | 262 | ||
263 | DestroyWindow (hGUIWnd); | 263 | DestroyWindow (hGUIWnd); |
264 | CloseHandle (hGUIThread); | 264 | CloseHandle (hGUIThread); |
265 | |||
265 | for (i = 0; i < nThreads; i++) | 266 | for (i = 0; i < nThreads; i++) |
266 | { | 267 | { |
267 | ResumeThread (lpThreads[i]); | ||
268 | WaitForSingleObject (lpThreads[i], 1); | ||
269 | CloseHandle (lpThreads[i]); | 268 | CloseHandle (lpThreads[i]); |
270 | } | 269 | } |
271 | return 0; | 270 | return 0; |
@@ -280,13 +279,6 @@ void GUIMessageLoop () | |||
280 | { | 279 | { |
281 | TranslateMessage (&msg); | 280 | TranslateMessage (&msg); |
282 | DispatchMessage (&msg); | 281 | DispatchMessage (&msg); |
283 | if (msg.message == TM_YIELD) | ||
284 | { | ||
285 | SuspendThread (lpThreads[nPos]); | ||
286 | if (++nPos >= nThreads) | ||
287 | nPos = 0; | ||
288 | ResumeThread (lpThreads[nPos]); | ||
289 | } | ||
290 | } | 282 | } |
291 | } | 283 | } |
292 | 284 | ||