Fix eventing in kernel

This commit is contained in:
Jeremy Soller 2016-11-03 16:02:44 -06:00
parent e13829cc70
commit 4a40a8b7f7
2 changed files with 4 additions and 2 deletions

View file

@ -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();

View file

@ -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
});