emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master a652362: Add missing timeout value in ns_select


From: Alan Third
Subject: [Emacs-diffs] master a652362: Add missing timeout value in ns_select
Date: Tue, 7 Mar 2017 19:51:52 -0500 (EST)

branch: master
commit a65236214d9202fb69a6ba5169d4ac1a4bcb0b0d
Author: Alan Third <address@hidden>
Commit: Alan Third <address@hidden>

    Add missing timeout value in ns_select
    
    * src/nsterm.m (ns_select): Set timeout to distant future when relying
    on fd_handler's timeout.
---
 src/nsterm.m | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/nsterm.m b/src/nsterm.m
index ebe29e4..f985786 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -4168,10 +4168,16 @@ ns_select (int nfds, fd_set *readfds, fd_set *writefds,
       /* Inform fd_handler that select should be called */
       c = 'g';
       emacs_write_sig (selfds[1], &c, 1);
+
+      /* We rely on fd_handler timing out to cause
+         nextEventMatchingMask below to return, so set it's timeout to
+         an unreasonably long time. */
+      timeout_date = [NSDate distantFuture];
     }
   else if (nr == 0 && timeout)
     {
-      /* No file descriptor, just a timeout, no need to wake fd_handler  */
+      /* No file descriptor, just a timeout, no need to wake
+         fd_handler. Set nextEventMatchingMask timeout. */
       double time = timespectod (*timeout);
       timeout_date = [NSDate dateWithTimeIntervalSinceNow: time];
     }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]