From 41f689bec36c6fe649320adfd64a585ee7b2dba0 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 18 Jul 2019 21:17:13 -0600 Subject: [PATCH] vesad: handle EOF --- vesad/src/main.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/vesad/src/main.rs b/vesad/src/main.rs index b8aaceabb6..9bcb62d251 100644 --- a/vesad/src/main.rs +++ b/vesad/src/main.rs @@ -65,7 +65,10 @@ fn main() { let mut blocked = Vec::new(); loop { let mut packet = Packet::default(); - socket.read(&mut packet).expect("vesad: failed to read display scheme"); + if socket.read(&mut packet).expect("vesad: failed to read display scheme") == 0 { + //TODO: Handle blocked + break; + } // If it is a read packet, and there is no data, block it. Otherwise, handle packet if packet.a == syscall::number::SYS_READ && packet.d > 0 && scheme.can_read(packet.b).is_none() {