From 13fe502cd63d3adc19a36a34447c09fab38ae47c Mon Sep 17 00:00:00 2001 From: Josh Matthews Date: Sat, 29 Nov 2014 00:40:03 -0500 Subject: [PATCH] Don't abort the sniffer task whenever an error occurs. Also, switch to blocking recv_opt vs. non-blocking try_recv. --- components/net/sniffer_task.rs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/components/net/sniffer_task.rs b/components/net/sniffer_task.rs index 05fade8ca90..2fcc0394f52 100644 --- a/components/net/sniffer_task.rs +++ b/components/net/sniffer_task.rs @@ -3,7 +3,7 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ //! A task that sniffs data -use std::comm::{channel, Receiver, Sender, Disconnected}; +use std::comm::{channel, Receiver, Sender}; use std::task::TaskBuilder; use resource_task::{TargetedLoadResponse}; @@ -33,15 +33,11 @@ impl SnifferManager { impl SnifferManager { fn start(self) { loop { - match self.data_receiver.try_recv() { + match self.data_receiver.recv_opt() { Ok(snif_data) => { - let result = snif_data.consumer.send_opt(snif_data.load_response); - if result.is_err() { - break; - } + let _ = snif_data.consumer.send_opt(snif_data.load_response); } - Err(Disconnected) => break, - Err(_) => (), + Err(_) => break, } } }