[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] FW: Cancelling asynchronous operations in libxl
Ian Campbell writes ("Re: [Xen-devel] FW: Cancelling asynchronous operations in libxl"): > On Fri, 2013-11-08 at 18:38 +0000, Ian Jackson wrote: > > I've been thinking about this some more and looking at the code. > > > > I have the following sketch of an approach: I have now an RFC patch series, which I'm going to send as a reply to this email. > > * Somehow the ao_how API is changed to make it possible to return the > > ao to the caller (in the case of an asynchronous ao). I did this differently. The caller is expected to provide a copy of their previous ao_how, which hopefully is sufficiently unique (this is the responsibility of the application). This seems to deal satisfactorily with the lifetime issues. > The following 6 things are all internal to libxl, right? > [stuff] Yes. > > * The fork machinery is changed to take an ao, and register a > > cancellation hook. A suitable-for-default-uses cancellation hook > > function is provided which sends SIGKILL to the child and makes a > > note that this has happened. The child death callback provides an > > rc value (0 for status==0, or FAIL or CANCEL) for the convenience > > of the next layer up. I have not yet done this in my RFC series. > > A tricky question arises regarding cleanup: for example, if > > libxl_domain_create_* were cancelled. It would end up in > > domcreate_complete with rc==CANCEL. > > > > Should it now run the domain destruction ? How would the caller say > > they wanted that cancelled, if that too was taking too long ? Perhaps > > there should be a progress callback to say "we have finished > > cancelling the first thing and are now cleaning up". I decided to not do the destruction in the cancellation case. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |