summaryrefslogtreecommitdiff
path: root/uisimulator/win32/uisw32.c
diff options
context:
space:
mode:
authorMagnus Holmgren <magnushol@gmail.com>2005-07-19 20:43:21 +0000
committerMagnus Holmgren <magnushol@gmail.com>2005-07-19 20:43:21 +0000
commitd315dfb5b1a0852d8665ef88042a9272d0b14ac5 (patch)
tree09b541b54e1fd5a2c74287ea58f882aa2cdf25cf /uisimulator/win32/uisw32.c
parentd83b659fa7206b150779274635a013def1ed850e (diff)
downloadrockbox-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.c10
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