While I was working on the code base of embedded-io, I noticed some behavioral divergences between the default implementation of std::io::Read::read_exact and embedded-io::Read::read_exact. The first retries to read the source every time that an error with an ErrorKind::Interrupted kind is caught, while the latter fails as soon as a ErrorKind::Interrupted is yield by the source.
Is this intentional?
TBH, I am a bit surprised by the std::io choice because read doesn't retry to read.
This creates some inconsistencies between read and read_exact.
While I was working on the code base of
embedded-io, I noticed some behavioral divergences between the default implementation ofstd::io::Read::read_exactandembedded-io::Read::read_exact. The first retries to read the source every time that an error with anErrorKind::Interruptedkind is caught, while the latter fails as soon as aErrorKind::Interruptedis yield by the source.Is this intentional?
TBH, I am a bit surprised by the
std::iochoice becausereaddoesn't retry to read.This creates some inconsistencies between
readandread_exact.