[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Don't unbind port when event channel binding fails.



# HG changeset patch
# User cl349@xxxxxxxxxxxxxxxxxxxx
# Node ID e2d635617acd58e01dc87145f5d30a3a1143ad01
# Parent  d24e1970c20542771fc3b359de206f196ec603e0
Don't unbind port when event channel binding fails.
This happens when xend tries to introduce the same domain twice.
Signed-off-by: Rusty Russel <rusty@xxxxxxxxxxxxxxx>
Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxx>

diff -r d24e1970c205 -r e2d635617acd tools/xenstore/xenstored_domain.c
--- a/tools/xenstore/xenstored_domain.c Thu Jul 28 12:29:23 2005
+++ b/tools/xenstore/xenstored_domain.c Thu Jul 28 12:33:53 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-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.