# HG changeset patch # User YAMAMOTO Mitsuharu # Date 1207447057 0 # Node ID 726ad0983c8b3b8988945ceab8701e158d4e78fd # Parent 99f3f4865e9bd50af4712bccc184bb34c66d5867 [MAC_OSX] (select_and_poll_event, sys_select): Use mac_run_loop_run_once instead of CFRunLoopRunInMode. diff -r 99f3f4865e9b -r 726ad0983c8b src/mac.c --- a/src/mac.c Sun Apr 06 01:57:25 2008 +0000 +++ b/src/mac.c Sun Apr 06 01:57:37 2008 +0000 @@ -4989,8 +4989,8 @@ SELECT_TIMEOUT_THRESHOLD_RUNLOOP seconds). -> Create CFSocket for each socket and add it into the current event RunLoop so that the current event loop gets quit when - the socket becomes ready. Then CFRunLoopRunInMode can wait - for both kinds of inputs. + the socket becomes ready. Then mac_run_loop_run_once can + wait for both kinds of inputs. 4. Otherwise. -> Periodically poll the window input channel while repeatedly executing `select' with a short timeout @@ -5045,7 +5045,7 @@ if (efds) oefds = *efds; } - /* Try detect_input_pending before CFRunLoopRunInMode in the same + /* Try detect_input_pending before mac_run_loop_run_once in the same BLOCK_INPUT block, in case that some input has already been read asynchronously. */ BLOCK_INPUT; @@ -5062,15 +5062,7 @@ if (timeoutval == 0.0) timedout_p = 1; else - { -#if USE_CG_DRAWING - mac_prepare_for_quickdraw (NULL); -#endif - if (CFRunLoopRunInMode (kCFRunLoopDefaultMode, - timeoutval >= 0 ? timeoutval : 100000, true) - == kCFRunLoopRunTimedOut) - timedout_p = 1; - } + timedout_p = mac_run_loop_run_once (timeoutval); if (timeout == NULL && timedout_p) { @@ -5193,7 +5185,7 @@ if (timeoutval > 0 && timeoutval <= SELECT_TIMEOUT_THRESHOLD_RUNLOOP) goto poll_periodically; - /* Try detect_input_pending before CFRunLoopRunInMode in the + /* Try detect_input_pending before mac_run_loop_run_once in the same BLOCK_INPUT block, in case that some input has already been read asynchronously. */ BLOCK_INPUT; @@ -5246,13 +5238,7 @@ CFRunLoopAddSource (runloop, source, kCFRunLoopDefaultMode); } -#if USE_CG_DRAWING - mac_prepare_for_quickdraw (NULL); -#endif - if (CFRunLoopRunInMode (kCFRunLoopDefaultMode, - timeoutval >= 0 ? timeoutval : 100000, true) - == kCFRunLoopRunTimedOut) - timedout_p = 1; + timedout_p = mac_run_loop_run_once (timeoutval); for (fd = minfd; fd < nfds; fd++) if (FD_ISSET (fd, rfds) || (wfds && FD_ISSET (fd, wfds)))