diff --git a/kernel/scheme/user.rs b/kernel/scheme/user.rs index fbd27264c..c2d8650f2 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)) }