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

Re: [Xen-devel] [PATCH 0/3] libxl: Permit immediate asynchronous completion



Roger Pau Monné writes ("Re: [PATCH 0/3] libxl: Permit immediate asynchronous 
completion"):
> > Sorry, Roger, the way I sent this mail omitted you from the CC.
> >
> >>  1/3 libxl: ao: allow immediate completion
> >>  2/3 libxl: fix hang due to libxl__initiate_device_remove
> >>  3/3 libxl: Fix eventloop_iteration over-locking
> >>
> >> Hopefully 1/3 and 2/3 will make the intended behaviour, and the
> >> intended usage clear.  Sorry for confusing you with a bad example!
> 
> np, thanks for the quick fix, I would like to test those patches this
> afternoon if I have some time and share the results.

Thank you, that would be awesome.  But note that I haven't executed
these myself yet.  You will almost certainly want the additional
patchlet below - thanks to Ian Campbell's review for spotting the bug.

Ian.

diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
index 7b8d0c2..6067dbe 100644
--- a/tools/libxl/libxl_internal.h
+++ b/tools/libxl/libxl_internal.h
@@ -1233,7 +1233,8 @@ _hidden void libxl__egc_cleanup(libxl__egc *egc);
     libxl__ctx_lock(ctx);                                       \
     libxl__ao *ao = libxl__ao_create(ctx, domid, ao_how);       \
     if (!ao) { libxl__ctx_unlock(ctx); return ERROR_NOMEM; }    \
-    EGC_INIT(ctx);
+    libxl__egc egc[1]; LIBXL_INIT_EGC(egc[0],ctx);              \
+    AO_GC;
 
 #define AO_INPROGRESS ({                                        \
         libxl_ctx *ao__ctx = libxl__gc_owner(&ao->gc);          \

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

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