message: Fix hang on exit after child process failed
  Quick test (works ~50%) is to press Ctrl+C followed by Ctrl+D.
  Reproducible on Arch Linux with OpenGL from NVidia.
  Fixes
diff: @@ -21,7 +21,7 @@ use std::os::unix::process::CommandExt;
  use std::ptr;
  use std::process::{Command, Stdio};
  -use libc::{self, winsize, c_int, pid_t, WNOHANG, WIFEXITED, WEXITSTATUS, SIGCHLD, TIOCSCTTY};
  +use libc::{self, winsize, c_int, pid_t, WNOHANG, SIGCHLD, TIOCSCTTY};
  use term::SizeInfo;
  use display::OnResize;
  @@ -48,17 +48,11 @@ extern "C" fn sigchld(_a: c_int) {
  die!("Waiting for pid {} failed: {}\n", PID, errno());
  }
  - if PID != p {
  - return;
  - }
  -
  - if !WIFEXITED(status) || WEXITSTATUS(status) != 0 {
  - die!("child finished with error '{}'\n", status);
  - }
  -
  + if PID == p {
  SHOULD_EXIT = true;
  }
  }
  +}
  pub fn process_should_exit() -> bool {
  unsafe { SHOULD_EXIT }
  