Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #15758

Fwd: read -t 0 fails to detect input.

From Bize Ma <binaryzebra@gmail.com>
Newsgroups gnu.bash.bug
Subject Fwd: read -t 0 fails to detect input.
Date 2019-12-19 19:07 -0400
Message-ID <mailman.1160.1576796891.1979.bug-bash@gnu.org> (permalink)
References <CAFra36gNku2DTCyivz+caMGnTf7GvGJUTiWicUnBZatcckXGcQ@mail.gmail.com> <7e6fccb4-e5b5-eb2b-8b12-eeee9d638ae1@case.edu> <CAFra36iJqGfocqtVYqcdfkePJZ5xrWg8=pfKZXymD34Gaz02rA@mail.gmail.com> <CAFra36iUQqc-yUmZyu-3ty15jWiN=5o_XQ8pxLsZieEZP8=Lsw@mail.gmail.com>

Show all headers | View raw


To: Chester Ramey <chet.ramey@case.edu>

On thu., dec. 19 of 2019 at 12:40, Chet Ramey (<chet.ramey@case.edu>) wrote:

> On 12/18/19 6:40 PM, Bize Ma wrote:
>


> >>> The exit status is 0 if input is available on the specified file
> >   descriptor, non-zero otherwise.
>
> Bash-5.0 uses select/FIONREAD to determine whether or not there is input
> available on the file descriptor. Those don't wait; they test whether or
> not there is input on the specified file descriptor at the point they are
> called.
>

Thanks Chet.

Could you please comment about this assertions:

 1.-   bash will either do a select() or an ioctl(FIONREAD), or neither of
them, but not both, as it should for it to work. read -t0 is broken. Do not
use it – mosvy.
<https://unix.stackexchange.com/questions/33049/how-to-check-if-a-pipe-is-empty-and-run-a-command-on-the-data-if-it-isnt/498064#comment969997_498064>
 2.- Conclusion: read -t0 is *broken* in bash. Don't use it. –
<https://unix.stackexchange.com/users/308316/mosvy> mosvy
<https://unix.stackexchange.com/questions/33049/how-to-check-if-a-pipe-is-empty-and-run-a-command-on-the-data-if-it-isnt/498065?noredirect=1#comment916652_497121>

Back to gnu.bash.bug | Previous | Next | Find similar


Thread

Fwd: read -t 0 fails to detect input. Bize Ma <binaryzebra@gmail.com> - 2019-12-19 19:07 -0400

csiph-web