Rusty Russell
2005-Aug-04 12:31 UTC
[Xen-devel] [PATCH 7/11] Don''t unbind port when event channel binding fails! This happens when xend tries to introduce the same domain twice, giving strange effects when xend restarts.
# HG changeset patch # User Rusty Russell <rusty@rustcorp.com.au> # Node ID 3550a20343ba6762cfca9e43d38866b036363e32 # Parent b0de1894df67ac7c7d905bf61cdf0210b42752cc Don''t unbind port when event channel binding fails! This happens when xend tries to introduce the same domain twice, giving strange effects when xend restarts. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> diff -r b0de1894df67 -r 3550a20343ba tools/xenstore/xenstored_domain.c --- a/tools/xenstore/xenstored_domain.c Thu Aug 4 11:39:03 2005 +++ b/tools/xenstore/xenstored_domain.c Thu Aug 4 11:41:51 2005 @@ -261,8 +261,8 @@ { struct domain *domain; domain = talloc(context, struct domain); + domain->port = 0; domain->domid = domid; - domain->port = port; domain->path = talloc_strdup(domain, path); domain->page = xc_map_foreign_range(*xc_handle, domain->domid, getpagesize(), @@ -279,9 +279,10 @@ domain->output = domain->page + getpagesize()/2; /* Tell kernel we''re interested in this event. */ - if (ioctl(eventchn_fd, EVENTCHN_BIND, domain->port) != 0) + if (ioctl(eventchn_fd, EVENTCHN_BIND, port) != 0) return NULL; + domain->port = port; domain->conn = new_connection(writechn, readchn); domain->conn->domain = domain; return domain; _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel