]> git.eshelyaron.com Git - emacs.git/commitdiff
Process sentinels need to work under X and commandline
authordickmao <none>
Thu, 13 May 2021 13:21:53 +0000 (15:21 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 13 May 2021 13:22:01 +0000 (15:22 +0200)
* src/process.c (add_non_keyboard_read_fd): Make this a public function.
(add_process_read_fd): Fold old, static add_non_keyboard_read_fd guts
into here.
* src/xsmfns.c (ice_conn_watch_CB): Call add_non_keyboard_read_fd
(bug#43834).

src/process.c
src/process.h
src/xsmfns.c

index 84e301a87a5611af427bd842d7b551425c959837..47a2a6f1a314f200fb01fa05aaec2228ceba09dd 100644 (file)
@@ -473,8 +473,15 @@ add_read_fd (int fd, fd_callback func, void *data)
   fd_callback_info[fd].data = data;
 }
 
+void
+add_non_keyboard_read_fd (int fd, fd_callback func, void *data)
+{
+  add_read_fd(fd, func, data);
+  fd_callback_info[fd].flags &= ~KEYBOARD_FD;
+}
+
 static void
-add_non_keyboard_read_fd (int fd)
+add_process_read_fd (int fd)
 {
   eassert (fd >= 0 && fd < FD_SETSIZE);
   eassert (fd_callback_info[fd].func == NULL);
@@ -483,12 +490,6 @@ add_non_keyboard_read_fd (int fd)
   fd_callback_info[fd].flags |= FOR_READ;
   if (fd > max_desc)
     max_desc = fd;
-}
-
-static void
-add_process_read_fd (int fd)
-{
-  add_non_keyboard_read_fd (fd);
   eassert (0 <= fd && fd < FD_SETSIZE);
   fd_callback_info[fd].flags |= PROCESS_FD;
 }
index d041ada58679c678f6619123593b6060a3315b14..0890f253a400d9466492c1db6877ef7e90b217d5 100644 (file)
@@ -284,6 +284,7 @@ extern bool kbd_on_hold_p (void);
 typedef void (*fd_callback) (int fd, void *data);
 
 extern void add_read_fd (int fd, fd_callback func, void *data);
+extern void add_non_keyboard_read_fd (int fd, fd_callback func, void *data);
 extern void delete_read_fd (int fd);
 extern void add_write_fd (int fd, fd_callback func, void *data);
 extern void delete_write_fd (int fd);
index 10565a4b25f5d2ae16dddfa21d6a0959e705e793..ddb86d82fe17fea9c9b11fb9b6e5086c287be093 100644 (file)
@@ -357,7 +357,7 @@ ice_conn_watch_CB (IceConn iceConn, IcePointer clientData,
     }
 
   ice_fd = IceConnectionNumber (iceConn);
-  add_read_fd (ice_fd, x_session_check_input, NULL);
+  add_non_keyboard_read_fd (ice_fd, x_session_check_input, NULL);
 }
 
 /* Create the client leader window.  */