Mercurial > emacs
view lib-src/leditcfns.c @ 9686:cd788aa8cb2a
Handle multiple keyboard input descriptors.
(non_keyboard_wait_mask): New variable.
(Fset_process_filter): Update non_keyboard_wait_mask
(create_process, Fopen_network_stream, deactivate_process):
(init_process, sigchld_handler): Likewise.
(wait_reading_process_input): Maybe use non_keyboard_wait_mask.
(add_keyboard_wait_descriptor):
Renamed from change_keyboard_wait_descriptor.
Clear the old descriptor's bit only the first call.
(delete_keyboard_wait_descriptor): New function.
(keyboard_bit_set): New function.
(wait_reading_process_input): Use keyboard_bit_set.
Start the loop over process descs from 0, and explicitly
ignore non-process input descs.
(init_process): Don't init keyboard_descriptor.
(keyboard_descriptor): Variable deleted.
(add_keyboard_wait_descriptor): Don't set keyboard_descriptor.
(delete_keyboard_wait_descriptor): New function.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 25 Oct 1994 09:48:44 +0000 |
parents | da530eb93c1a |
children | 695cf19ef79e |
line wrap: on
line source
#include <sgtty.h> #include <signal.h> #define STRLEN 100 static char str[STRLEN+1] = "%?emacs"; /* extra char for the null */ switch_to_proc(){ char *ptr = str; while (*ptr) ioctl(0, TIOCSTI, ptr++); ioctl(0, TIOCSTI, "\n"); kill(getpid(), SIGTSTP); } set_proc_str(ptr) char *ptr; { if (strlen(ptr) <= STRLEN) strcpy(str, ptr); else printf("string too long for set-proc-str: %s\n", ptr); }