emacs-diffs
[Top][All Lists]
Advanced

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

master 5be26b4: Process sentinels need to work under X and commandline


From: Lars Ingebrigtsen
Subject: master 5be26b4: Process sentinels need to work under X and commandline
Date: Thu, 13 May 2021 09:22:06 -0400 (EDT)

branch: master
commit 5be26b43f441e429dadbf7c8beccb351a84f1275
Author: dickmao <none>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Process sentinels need to work under X and commandline
    
    * 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 | 15 ++++++++-------
 src/process.h |  1 +
 src/xsmfns.c  |  2 +-
 3 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/src/process.c b/src/process.c
index 84e301a..47a2a6f 100644
--- a/src/process.c
+++ b/src/process.c
@@ -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;
 }
diff --git a/src/process.h b/src/process.h
index d041ada..0890f25 100644
--- a/src/process.h
+++ b/src/process.h
@@ -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);
diff --git a/src/xsmfns.c b/src/xsmfns.c
index 10565a4..ddb86d8 100644
--- a/src/xsmfns.c
+++ b/src/xsmfns.c
@@ -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.  */



reply via email to

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