On 1/23/17 10:45 AM, Chet Ramey wrote:
> On 1/23/17 10:42 AM, Chet Ramey wrote:
>> On 1/22/17 2:32 PM, Siteshwar Vashisht wrote:
>>> If a child process sets stdin to non-blocking and does not set it back to
>>> blocking before exiting, other processes may fail to read from stdin.
>>
>> It's not the shell's business to be resetting this for processes it spawns.
>> What bash should do is to turn of O_NONBLOCK when it reads input, which it
>> already does at startup but not every time it calls readline().
>
> And maybe I should make the follow-up point explicit: that will fix this
> problem, too.
Something like this, for instance.
--
``The lyf so short, the craft so long to lerne.'' - Chaucer
``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU [email protected] http://cnswww.cns.cwru.edu/~chet/
*** ../bash-4.4-patched/parse.y 2016-09-11 11:31:46.000000000 -0400
--- parse.y 2017-01-23 13:54:53.000000000 -0500
***************
*** 1454,1457 ****
--- 1454,1458 ----
}
+ sh_unset_nodelay_mode (fileno (rl_instream)); /* just in case */
current_readline_line = readline (current_readline_prompt ?
current_readline_prompt : "");