From b50b03f8a095e614e93177d9bba8467043f0b397 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Fri, 14 Oct 2016 22:06:43 -0600 Subject: [PATCH] Send multiple events if there are multiple packets --- kernel/scheme/user.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kernel/scheme/user.rs b/kernel/scheme/user.rs index fbd2726..c2d8650 100644 --- a/kernel/scheme/user.rs +++ b/kernel/scheme/user.rs @@ -59,7 +59,10 @@ impl UserInner { }; let len = self.todo.send(packet); - context::event::trigger(ROOT_SCHEME_ID.load(Ordering::SeqCst), self.handle_id, EVENT_READ, len * mem::size_of::()); + //TODO: Use O_NONBLOCK and send one notification + for _i in 0 .. len { + context::event::trigger(ROOT_SCHEME_ID.load(Ordering::SeqCst), self.handle_id, EVENT_READ, mem::size_of::()); + } Error::demux(self.done.receive(&id)) }