Allow XS_INTRODUCE to be used for rebinding the xenstore evtchn.

Signed-off-by: Andrei Petrov <andrei.petrov@xensource.com>
This commit is contained in:
kfraser@localhost.localdomain committed 2007-01-19 17:58:30 +00:00
1 parent bbb6a715dc
commit 61aaed0d58
1 file changed
+8 -7
+8 -7
View File
@@ -343,13 +343,14 @@ void do_introduce(struct connection *conn, struct buffered_data *in)
fire_watches(conn, "@introduceDomain", false);
}
else {
/* Check that the given details match the ones we have
previously recorded. */
if (port != domain->remote_port ||
mfn != domain->mfn) {
send_error(conn, EINVAL);
return;
}
int rc;
/* Use XS_INTRODUCE for recreating the xenbus event-channel. */
if (domain->port)
xc_evtchn_unbind(xce_handle, domain->port);
rc = xc_evtchn_bind_interdomain(xce_handle, domid, port);
domain->port = (rc == -1) ? 0 : rc;
domain->remote_port = port;
}
send_ack(conn, XS_INTRODUCE);
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.