From 663ffdc5a9b9353801835167d6afe464ce60d53b Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Fri, 4 May 2012 00:14:00 -0700 Subject: [PATCH] Modernize servo.rs --- src/servo/servo.rs | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/src/servo/servo.rs b/src/servo/servo.rs index 27df45952d2..78ad2410b20 100644 --- a/src/servo/servo.rs +++ b/src/servo/servo.rs @@ -36,17 +36,20 @@ fn main(args: [str]) { // The content task let content = content::content(layout); - // The keyboard handler - let key_po = port(); - send(osmain, platform::osmain::add_key_handler(chan(key_po))); + // Wait for keypress + listen {|key_ch| + send(osmain, platform::osmain::add_key_handler(key_ch)); - key_po.recv(); - comm::send(content, content::exit); - comm::send(layout, layout::layout::exit); + key_ch.recv(); + } - let draw_exit_confirm_po = comm::port(); - comm::send(renderer, gfx::renderer::exit(comm::chan(draw_exit_confirm_po))); + // Shut everything down + content.send(content::exit); + layout.send(layout::layout::exit); - comm::recv(draw_exit_confirm_po); - comm::send(osmain, platform::osmain::exit); + listen {|wait_ch| + renderer.send(gfx::renderer::exit(wait_ch)); + wait_ch.recv(); + } + osmain.send(platform::osmain::exit); }