]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix pselect usage mistakes
authorPo Lu <luangruo@yahoo.com>
Wed, 1 Jun 2022 04:50:16 +0000 (12:50 +0800)
committerPo Lu <luangruo@yahoo.com>
Wed, 1 Jun 2022 04:51:52 +0000 (12:51 +0800)
* src/xterm.c (x_next_event_from_any_display):
(x_wait_for_cell_change): Fix calls to pselect and tests against
return value.

src/xterm.c

index f062e6485d6ff2fdb948599813b84735a579a6db..2421108a41725f1e614f510c4707b055caf00b79 100644 (file)
@@ -10322,7 +10322,7 @@ x_next_event_from_any_display (XEvent *event)
       /* We don't have to check the return of pselect, because if an
         error occurs XPending will call the IO error handler, which
         then brings us out of this loop.  */
-      pselect (maxfd, &fds, NULL, NULL, NULL, NULL);
+      pselect (maxfd + 1, &fds, NULL, NULL, NULL, NULL);
     }
 }
 
@@ -14945,12 +14945,12 @@ x_wait_for_cell_change (Lisp_Object cell, struct timespec timeout)
       timeout = timespec_sub (at, current);
 
 #ifndef USE_GTK
-      rc = pselect (maxfd, &fds, NULL, NULL, &timeout, NULL);
+      rc = pselect (maxfd + 1, &fds, NULL, NULL, &timeout, NULL);
 
-      if (rc > 0)
+      if (rc >= 0)
        rfds = fds;
 #else
-      pselect (maxfd, &fds, NULL, NULL, &timeout, NULL);
+      pselect (maxfd + 1, &fds, NULL, NULL, &timeout, NULL);
 #endif
     }
 }