[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] minios: clear the event before calling the handler since (especially
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1210244019 -3600 # Node ID addfc2db07a3bfaf4b117c3fc6a34a7eb7dc6ab8 # Parent 72e70f9041c2c5c4f3d3591f252bcf6dcda7da63 minios: clear the event before calling the handler since (especially in the SMP case) the handler may make another domain send an event again, and that must not be lost. Signed-off-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx> --- extras/mini-os/events.c | 8 ++++---- 1 files changed, 4 insertions(+), 4 deletions(-) diff -r 72e70f9041c2 -r addfc2db07a3 extras/mini-os/events.c --- a/extras/mini-os/events.c Thu May 08 11:27:22 2008 +0100 +++ b/extras/mini-os/events.c Thu May 08 11:53:39 2008 +0100 @@ -58,9 +58,12 @@ int do_event(evtchn_port_t port, struct int do_event(evtchn_port_t port, struct pt_regs *regs) { ev_action_t *action; + + clear_evtchn(port); + if (port >= NR_EVS) { printk("Port number too large: %d\n", port); - goto out; + return 1; } action = &ev_actions[port]; @@ -68,9 +71,6 @@ int do_event(evtchn_port_t port, struct /* call the handler */ action->handler(port, regs, action->data); - - out: - clear_evtchn(port); return 1; _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |