Fix eventing in kernel
This commit is contained in:
parent
e13829cc70
commit
4a40a8b7f7
|
@ -45,7 +45,9 @@ fn main() {
|
||||||
let scheme = DiskScheme::new(ahci::disks(address));
|
let scheme = DiskScheme::new(ahci::disks(address));
|
||||||
loop {
|
loop {
|
||||||
let mut event = Event::default();
|
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 {
|
if event.id == socket_fd {
|
||||||
loop {
|
loop {
|
||||||
let mut packet = Packet::default();
|
let mut packet = Packet::default();
|
||||||
|
|
|
@ -101,7 +101,7 @@ pub fn trigger(scheme_id: usize, event_id: usize, flags: usize, data: usize) {
|
||||||
for entry in event_lists.iter() {
|
for entry in event_lists.iter() {
|
||||||
if let Some(event_list) = entry.1.upgrade() {
|
if let Some(event_list) = entry.1.upgrade() {
|
||||||
event_list.send(Event {
|
event_list.send(Event {
|
||||||
id: (entry.0).context_id,
|
id: (entry.0).fd,
|
||||||
flags: flags,
|
flags: flags,
|
||||||
data: data
|
data: data
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue