aboutsummaryrefslogtreecommitdiffstats
path: root/emulator/qemud
diff options
context:
space:
mode:
Diffstat (limited to 'emulator/qemud')
-rw-r--r--emulator/qemud/qemud.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/emulator/qemud/qemud.c b/emulator/qemud/qemud.c
index 92b2a2b..e1c7b54 100644
--- a/emulator/qemud/qemud.c
+++ b/emulator/qemud/qemud.c
@@ -541,6 +541,7 @@ looper_loop( Looper* l )
/* now remove all the hooks that were closed by
* the callbacks */
for (n = 0; n < l->num_fds;) {
+ struct epoll_event ev;
LoopHook* hook = l->hooks + n;
if (!(hook->state & HOOK_CLOSING)) {
@@ -550,6 +551,9 @@ looper_loop( Looper* l )
hook[0] = l->hooks[l->num_fds-1];
l->num_fds -= 1;
+ ev.events = hook->wanted;
+ ev.data.ptr = hook;
+ epoll_ctl( l->epoll_fd, EPOLL_CTL_MOD, hook->fd, &ev );
}
}
}