Index: lib/fuzzer/FuzzerUtilFuchsia.cpp =================================================================== --- lib/fuzzer/FuzzerUtilFuchsia.cpp +++ lib/fuzzer/FuzzerUtilFuchsia.cpp @@ -45,8 +45,13 @@ } void InterruptHandler() { + fd_set readfds; // Ctrl-C sends ETX in Zircon. - while (getchar() != 0x03); + do { + FD_ZERO(&readfds); + FD_SET(STDIN_FILENO, &readfds); + select(STDIN_FILENO + 1, &readfds, nullptr, nullptr, nullptr); + } while(!FD_ISSET(STDIN_FILENO, &readfds) || getchar() != 0x03); Fuzzer::StaticInterruptCallback(); }