comparison os2/dw.c @ 477:923b46b0716c

Had #ifdef __EMX__ round the wrong way in dw_main_sleep(); now fixed.
author mhessling@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 13 Oct 2003 10:37:24 +0000
parents a84ee39e7aea
children ea099ba917c6
comparison
equal deleted inserted replaced
476:a84ee39e7aea 477:923b46b0716c
3327 */ 3327 */
3328 void API dw_main_sleep(int milliseconds) 3328 void API dw_main_sleep(int milliseconds)
3329 { 3329 {
3330 QMSG qmsg; 3330 QMSG qmsg;
3331 #ifdef __EMX__ 3331 #ifdef __EMX__
3332 double start = (double)clock(); 3332 struct timeval tv, start;
3333 3333
3334 while(((clock() - start) / (CLOCKS_PER_SEC/1000)) <= milliseconds) 3334 gettimeofday(&start, NULL);
3335 gettimeofday(&tv, NULL);
3336
3337 while(((tv.tv_sec - start.tv_sec)*1000) + ((tv.tv_usec - start.tv_usec)/1000) <= milliseconds)
3335 { 3338 {
3336 if(WinPeekMsg(dwhab, &qmsg, 0, 0, 0, PM_NOREMOVE)) 3339 if(WinPeekMsg(dwhab, &qmsg, 0, 0, 0, PM_NOREMOVE))
3337 { 3340 {
3338 WinGetMsg(dwhab, &qmsg, 0, 0, 0); 3341 WinGetMsg(dwhab, &qmsg, 0, 0, 0);
3339 if(qmsg.msg == WM_TIMER && qmsg.hwnd == NULLHANDLE) 3342 if(qmsg.msg == WM_TIMER && qmsg.hwnd == NULLHANDLE)
3340 _run_event(qmsg.hwnd, qmsg.msg, qmsg.mp1, qmsg.mp2); 3343 _run_event(qmsg.hwnd, qmsg.msg, qmsg.mp1, qmsg.mp2);
3341 WinDispatchMsg(dwhab, &qmsg); 3344 WinDispatchMsg(dwhab, &qmsg);
3342 } 3345 }
3343 else 3346 else
3344 DosSleep(1); 3347 DosSleep(1);
3348 gettimeofday(&tv, NULL);
3345 } 3349 }
3346 #else 3350 #else
3347 struct timeval tv, start; 3351 double start = (double)clock();
3348 3352
3349 gettimeofday(&start, NULL); 3353 while(((clock() - start) / (CLOCKS_PER_SEC/1000)) <= milliseconds)
3350 gettimeofday(&tv, NULL);
3351
3352 while(((tv.tv_sec - start.tv_sec)*1000) + ((tv.tv_usec - start.tv_usec)/1000) <= milliseconds)
3353 { 3354 {
3354 if(WinPeekMsg(dwhab, &qmsg, 0, 0, 0, PM_NOREMOVE)) 3355 if(WinPeekMsg(dwhab, &qmsg, 0, 0, 0, PM_NOREMOVE))
3355 { 3356 {
3356 WinGetMsg(dwhab, &qmsg, 0, 0, 0); 3357 WinGetMsg(dwhab, &qmsg, 0, 0, 0);
3357 if(qmsg.msg == WM_TIMER && qmsg.hwnd == NULLHANDLE) 3358 if(qmsg.msg == WM_TIMER && qmsg.hwnd == NULLHANDLE)
3358 _run_event(qmsg.hwnd, qmsg.msg, qmsg.mp1, qmsg.mp2); 3359 _run_event(qmsg.hwnd, qmsg.msg, qmsg.mp1, qmsg.mp2);
3359 WinDispatchMsg(dwhab, &qmsg); 3360 WinDispatchMsg(dwhab, &qmsg);
3360 } 3361 }
3361 else 3362 else
3362 DosSleep(1); 3363 DosSleep(1);
3363 gettimeofday(&tv, NULL);
3364 } 3364 }
3365 #endif 3365 #endif
3366 } 3366 }
3367 3367
3368 /* 3368 /*