Mercurial > emacs
diff src/mac.c @ 80450:726ad0983c8b
[MAC_OSX] (select_and_poll_event, sys_select):
Use mac_run_loop_run_once instead of CFRunLoopRunInMode.
author | YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
---|---|
date | Sun, 06 Apr 2008 01:57:37 +0000 |
parents | 3fdc60eb4014 |
children | e58dfb854c06 3af508d0bd74 |
line wrap: on
line diff
--- 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)))