Make child signal read pipe non-blocking.
Otherwise Emacs might hang when trying to read the pipe twice in a row. This is consistent with the other file descriptors we pass to 'pselect'. * src/process.c (child_signal_init): Make read end of pipe non-blocking.
This commit is contained in:
parent
8725f7690a
commit
8ed97a8d54
1 changed files with 2 additions and 0 deletions
|
@ -7179,6 +7179,8 @@ child_signal_init (void)
|
|||
exits. */
|
||||
eassert (0 <= fds[0]);
|
||||
eassert (0 <= fds[1]);
|
||||
if (fcntl (fds[0], F_SETFL, O_NONBLOCK) != 0)
|
||||
emacs_perror ("fcntl");
|
||||
add_read_fd (fds[0], child_signal_read, NULL);
|
||||
fd_callback_info[fds[0]].flags &= ~KEYBOARD_FD;
|
||||
child_signal_read_fd = fds[0];
|
||||
|
|
Loading…
Add table
Reference in a new issue