From: Alan Third Date: Wed, 8 Mar 2017 00:40:05 +0000 (+0000) Subject: Add missing timeout value in ns_select X-Git-Tag: emacs-26.0.90~617 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a65236214d9202fb69a6ba5169d4ac1a4bcb0b0d;p=emacs.git Add missing timeout value in ns_select * src/nsterm.m (ns_select): Set timeout to distant future when relying on fd_handler's timeout. --- diff --git a/src/nsterm.m b/src/nsterm.m index ebe29e42619..f985786e198 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]; }