Subject: bug#16737: Question about wait_reading_process_output

From: Eli Zaretskii <[email-masked]>
Date: Mon, 15 Jun 2015 17:51:07 +0300

> From: Stefan Monnier <[email-masked]>
> Date: Sun, 14 Jun 2015 23:47:42 -0400
> Cc: emacs-devel <[email-masked]>
> 
> > I've been digging into the code trying to get an idea of why bug#16737
> > fires. My question is where in wait_reading_process_output does it
> > ensure the various terminal socket reads are run?
> 
> I see noone replied yet.  I can't really help you because I don't know
> this code at all, but I really hope someone else will come along to
> help,

I will try.

The terminal socket reads are run in gobble_input, which is called
from detect_input_pending (via a few intermediaries).  Emacs calls
detect_input_pending when the pselect call in
wait_reading_process_output finds that some input has arrived, and
wait_reading_process_output was called with READ_KBD or WAIT_FOR_CELL
arguments having values that tell it to do so.

Does this answer your question?