devtools: handle script task panics gracefully in ConsoleActor.

This commit is contained in:
Eduard Burtescu 2014-12-05 02:57:32 +02:00
parent 92a8c7a80c
commit b328c57caa
6 changed files with 44 additions and 31 deletions

View file

@ -101,9 +101,18 @@ fn run_server(receiver: Receiver<DevtoolsControlMsg>, port: u16) {
'outer: loop {
match stream.read_json_packet() {
Ok(json_packet) =>
actors.lock().handle_message(json_packet.as_object().unwrap(),
&mut stream),
Ok(json_packet) => {
match actors.lock().handle_message(json_packet.as_object().unwrap(),
&mut stream) {
Ok(()) => {},
Err(()) => {
println!("error: devtools actor stopped responding");
stream.close_read();
stream.close_write();
break 'outer
}
}
}
Err(e) => {
println!("error: {}", e.desc);
break 'outer