aboutsummaryrefslogtreecommitdiffstats
path: root/components/debugger/lib.rs
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2018-09-12 13:33:45 -0400
committerGitHub <noreply@github.com>2018-09-12 13:33:45 -0400
commit910cc23a6e85cced43905f7615065b23bdb54b42 (patch)
tree3ceae959c0ebdf3f224c5c07f5b8c2cbd31dddf1 /components/debugger/lib.rs
parent9a83ab6297ddb62937fc54521b7fd4d19017e6b1 (diff)
parent2a996fbc8fef722b264389680cc55c25c46807d1 (diff)
downloadservo-910cc23a6e85cced43905f7615065b23bdb54b42.tar.gz
servo-910cc23a6e85cced43905f7615065b23bdb54b42.zip
Auto merge of #21325 - gterzian:crossbeam_integration, r=SimonSapin,jdm
Replace mpsc with crossbeam-channel Follow up on https://github.com/servo/servo/pull/19515 --- Selecting over multiple channels in `std::sync::mpsc` is not stable and likely never will be: https://github.com/rust-lang/rust/issues/27800#issuecomment-260136777 > It seems the only thing keeping `mpsc_select` around is Servo. crossbeam-channel is designed specifically to replace `std::sync::mpsc` and fix many of its shortcomings: https://github.com/stjepang/rfcs-crossbeam/blob/channel/text/2017-11-09-channel.md This is to be landed together with https://github.com/servo/ipc-channel/pull/183. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21325) <!-- Reviewable:end -->
Diffstat (limited to 'components/debugger/lib.rs')
-rw-r--r--components/debugger/lib.rs9
1 files changed, 4 insertions, 5 deletions
diff --git a/components/debugger/lib.rs b/components/debugger/lib.rs
index 6190ebec89b..938e16906e3 100644
--- a/components/debugger/lib.rs
+++ b/components/debugger/lib.rs
@@ -4,10 +4,9 @@
#[macro_use]
extern crate log;
+extern crate servo_channel;
extern crate ws;
-use std::sync::mpsc;
-use std::sync::mpsc::channel;
use std::thread;
use ws::{Builder, CloseCode, Handler, Handshake};
@@ -15,7 +14,7 @@ enum Message {
ShutdownServer,
}
-pub struct Sender(mpsc::Sender<Message>);
+pub struct Sender(servo_channel::Sender<Message>);
struct Connection {
sender: ws::Sender,
@@ -38,7 +37,7 @@ impl Handler for Connection {
pub fn start_server(port: u16) -> Sender {
debug!("Starting server.");
- let (sender, receiver) = channel();
+ let (sender, receiver) = servo_channel::channel();
thread::Builder::new()
.name("debugger".to_owned())
.spawn(move || {
@@ -51,7 +50,7 @@ pub fn start_server(port: u16) -> Sender {
.spawn(move || {
socket.listen(("127.0.0.1", port)).unwrap();
}).expect("Thread spawning failed");
- while let Ok(message) = receiver.recv() {
+ while let Some(message) = receiver.recv() {
match message {
Message::ShutdownServer => {
break;