Index: src/event-msw.c =================================================================== RCS file: /usr/CVSroot/XEmacs/xemacs-20/src/event-msw.c,v retrieving revision 1.25 diff -u -r1.25 event-msw.c --- src/event-msw.c 1998/04/24 21:34:17 1.25 +++ src/event-msw.c 1998/04/25 21:31:23 @@ -96,7 +96,7 @@ #ifdef HAVE_MSG_SELECT extern SELECT_TYPE input_wait_mask, non_fake_input_wait_mask; -extern SELECT_TYPE process_only_mask; +extern SELECT_TYPE process_only_mask, tty_only_mask; extern int signal_event_pipe_initialized; int windows_fd; #endif @@ -1098,12 +1098,29 @@ /* Look for a process event */ for (i = 0; i < MAXDESC-1; i++) { - if (FD_ISSET (i, &temp_mask) && FD_ISSET (i, &process_only_mask)) + if (FD_ISSET (i, &temp_mask)) { - struct Lisp_Process *p = - get_process_from_usid (FD_TO_USID(i)); - - mswindows_enqueue_process_event (p); + if (FD_ISSET (i, &process_only_mask)) + { + struct Lisp_Process *p = + get_process_from_usid (FD_TO_USID(i)); + + mswindows_enqueue_process_event (p); + } + else if (FD_ISSET (i, &tty_only_mask)) + { + /* do we care about tty events? Do we + ever get tty events? */ + } + else + { + /* We might get here when a fake event came + through a signal. Return a dummy event, so + that a cycle of the command loop will + occur. */ + drain_signal_event_pipe (); + mswindows_bump_queue(); + } } } } @@ -1117,12 +1134,7 @@ } else { - /* We might get here when a fake event came through a signal. */ - /* Return a dummy event, so that a cycle of the command loop will - occur. */ - drain_signal_event_pipe (); - mswindows_bump_queue(); - return; + assert(0); } #else /* Now try getting a message or process event */ @@ -2511,8 +2523,8 @@ assert (windows_fd>=0); FD_SET (windows_fd, &input_wait_mask); /* for some reason I get blocks on the signal event pipe, which is - bad... */ - signal_event_pipe_initialized = 0; + bad... + signal_event_pipe_initialized = 0; */ #endif event_stream = mswindows_event_stream;