From 0dc97968422a078126dd9bf575002b335962b42c Mon Sep 17 00:00:00 2001 From: Zachary Dremann Date: Thu, 12 Jun 2014 13:48:49 -0400 Subject: Close right away when connection is closed by remote --- examples/client.rs | 5 ++++- src/lib.rs | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/examples/client.rs b/examples/client.rs index 0419816..a48d2a6 100644 --- a/examples/client.rs +++ b/examples/client.rs @@ -1,4 +1,5 @@ extern crate irc; +extern crate libc; use std::io::stdio; @@ -27,7 +28,7 @@ fn main() { match line { Ok(s) => { match from_str(s.as_slice()) { - Some(msg) => sender.send(msg), + Some(msg) => { if sender.send_opt(msg).is_err() { break; } }, None => () } } @@ -39,4 +40,6 @@ fn main() { for msg in rx.iter() { println!("{} {}", msg.prefix, msg.command); } + + unsafe { libc::exit(0); } } diff --git a/src/lib.rs b/src/lib.rs index a707059..27c8c9f 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -93,8 +93,7 @@ impl IrcClient { }, Err(IoError{kind: std::io::TimedOut, ..}) => continue, Err(e) => { - println!("Unable to read line: {}", e); - break; + fail!("Unable to read line: {}", e); } } } -- cgit v1.2.3-54-g00ecf