aboutsummaryrefslogtreecommitdiffstats
path: root/components/net/file_loader.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/net/file_loader.rs')
-rw-r--r--components/net/file_loader.rs9
1 files changed, 3 insertions, 6 deletions
diff --git a/components/net/file_loader.rs b/components/net/file_loader.rs
index db87cb33375..b3b905c7dcb 100644
--- a/components/net/file_loader.rs
+++ b/components/net/file_loader.rs
@@ -44,17 +44,14 @@ fn read_block(reader: &mut File) -> Result<ReadStatus, String> {
fn read_all(reader: &mut File, progress_chan: &ProgressSender, cancel_listener: &CancellationListener)
-> Result<LoadResult, String> {
- loop {
- if cancel_listener.is_cancelled() {
- let _ = progress_chan.send(Done(Err("load cancelled".to_owned())));
- return Ok(LoadResult::Cancelled);
- }
-
+ while !cancel_listener.is_cancelled() {
match try!(read_block(reader)) {
ReadStatus::Partial(buf) => progress_chan.send(Payload(buf)).unwrap(),
ReadStatus::EOF => return Ok(LoadResult::Finished),
}
}
+ let _ = progress_chan.send(Done(Err("load cancelled".to_owned())));
+ Ok(LoadResult::Cancelled)
}
fn get_progress_chan(load_data: LoadData, file_path: PathBuf,