diff --git a/src/client/pxar_backup_stream.rs b/src/client/pxar_backup_stream.rs index 7c739aa0..1556ef1c 100644 --- a/src/client/pxar_backup_stream.rs +++ b/src/client/pxar_backup_stream.rs @@ -80,9 +80,11 @@ impl Stream for PxarBackupStream { type Error = Error; fn poll(&mut self) -> Poll>, Error> { - let error = self.error.lock().unwrap(); - if let Some(ref msg) = *error { - return Err(format_err!("{}", msg)); + { // limit lock scope + let error = self.error.lock().unwrap(); + if let Some(ref msg) = *error { + return Err(format_err!("{}", msg)); + } } self.stream.as_mut().unwrap().poll().map_err(Error::from) }