From: Wen Congyang <we...@cn.fujitsu.com> datacopier is to read some data and write it out. If we have some data to send it over network, we cannot use datacopier. Update it to support this case.
Signed-off-by: Wen Congyang <we...@cn.fujitsu.com> CC: Ian Campbell <ian.campb...@citrix.com> CC: Ian Jackson <ian.jack...@eu.citrix.com> CC: Wei Liu <wei.l...@citrix.com> --- tools/libxl/libxl_aoutils.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tools/libxl/libxl_aoutils.c b/tools/libxl/libxl_aoutils.c index b10d2e1..3e0c0ae 100644 --- a/tools/libxl/libxl_aoutils.c +++ b/tools/libxl/libxl_aoutils.c @@ -309,9 +309,11 @@ int libxl__datacopier_start(libxl__datacopier_state *dc) libxl__datacopier_init(dc); - rc = libxl__ev_fd_register(gc, &dc->toread, datacopier_readable, - dc->readfd, POLLIN); - if (rc) goto out; + if (dc->readfd >= 0) { + rc = libxl__ev_fd_register(gc, &dc->toread, datacopier_readable, + dc->readfd, POLLIN); + if (rc) goto out; + } rc = libxl__ev_fd_register(gc, &dc->towrite, datacopier_writable, dc->writefd, POLLOUT); -- 1.7.10.4 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel