DescriptionRc normally allows to interrupt unfinished commands,
like a command with an open { or ' character
(sometimes created without intention due
to unbalanced delimiters). If an interrupt signal is issued
on one of the next lines after writing e.g.
% echo '
this should exit from the quoting block, and print a
line like
rc: /dev/stdin: token EOF: syntax error.
Starting with rev 2474 this doesn't work anymore, as the
new readnb function, which takes care of nonblocked fds,
accidentally suppresses a return value of -1, which was
possible before and resulted in the EOF token.
The patch restructures the loop, so that normal
errors, i.e. errors different from EAGAIN, won't go
unnoticed. Perhaps the `goto' is not ok in terms of
style, but it seems that here it makes it clearer that
in the normal case it won't loop again, only in case
of errno==EGAIN.
Patch Set 1 #
MessagesTotal messages: 3
|