diff --git a/drivers/ahcid/src/main.rs b/drivers/ahcid/src/main.rs index 3bc17eb..0bad322 100644 --- a/drivers/ahcid/src/main.rs +++ b/drivers/ahcid/src/main.rs @@ -45,7 +45,9 @@ fn main() { let scheme = DiskScheme::new(ahci::disks(address)); loop { let mut event = Event::default(); - event_file.read(&mut event).expect("ahcid: failed to read event file"); + if event_file.read(&mut event).expect("ahcid: failed to read event file") == 0 { + break; + } if event.id == socket_fd { loop { let mut packet = Packet::default(); diff --git a/kernel/context/event.rs b/kernel/context/event.rs index c2e7ee3..2ece466 100644 --- a/kernel/context/event.rs +++ b/kernel/context/event.rs @@ -101,7 +101,7 @@ pub fn trigger(scheme_id: usize, event_id: usize, flags: usize, data: usize) { for entry in event_lists.iter() { if let Some(event_list) = entry.1.upgrade() { event_list.send(Event { - id: (entry.0).context_id, + id: (entry.0).fd, flags: flags, data: data });