// Copyright (c) 2015 CtrlC developers // Licensed under the Apache License, Version 2.0 // or the MIT // license , // at your option. All files in the project carrying such // notice may not be copied, modified, or distributed except // according to those terms. use ctrlc2; use std::sync::mpsc::channel; fn main() { let (tx, rx) = channel(); let handle = ctrlc2::set_handler(move || { tx.send(()).expect("Could not send signal on channel."); true }) .expect("Error setting Ctrl-C handler"); println!("Waiting for Ctrl-C..."); rx.recv().expect("Could not receive from channel."); println!("Got it! Exiting..."); handle.join().unwrap(); }