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).
This commit is contained in:
parent
1aaceec931
commit
5be26b43f4
3 changed files with 10 additions and 8 deletions
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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. */
|
||||
|
|
Loading…
Add table
Reference in a new issue