diff options
Diffstat (limited to 'buffered-reader')
-rw-r--r-- | buffered-reader/src/generic.rs | 2 | ||||
-rw-r--r-- | buffered-reader/src/lib.rs | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/buffered-reader/src/generic.rs b/buffered-reader/src/generic.rs index 61dd8da6..a2a5321b 100644 --- a/buffered-reader/src/generic.rs +++ b/buffered-reader/src/generic.rs @@ -121,6 +121,8 @@ impl<T: io::Read, C> BufferedReaderGeneric<T, C> { continue; } }, + Err(ref err) if err.kind() == ErrorKind::Interrupted => + continue, Err(err) => { // Don't return yet, because we may have // actually read something. diff --git a/buffered-reader/src/lib.rs b/buffered-reader/src/lib.rs index c8e30866..506c8222 100644 --- a/buffered-reader/src/lib.rs +++ b/buffered-reader/src/lib.rs @@ -324,6 +324,9 @@ pub trait BufferedReader<C> : io::Read + fmt::Debug { /// returned, it will always be returned until it is consumed. /// As such, the following must hold: /// + /// If `BufferedReader` receives `EINTR` when `read`ing, it will + /// automatically retry reading. + /// /// ``` /// # f(); fn f() -> Result<(), std::io::Error> { /// use buffered_reader::*; |