changeset 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 99f3f4865e9b
children 458a994205d2
files src/mac.c
diffstat 1 files changed, 6 insertions(+), 20 deletions(-) [+]
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)))