From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Jackson Subject: [RFC PATCH 00/14] libxl: Asynchronous event cancellation Date: Fri, 20 Dec 2013 18:45:38 +0000 Message-ID: <1387565152-5642-1-git-send-email-ian.jackson@eu.citrix.com> References: <21172.35652.484647.666791@mariner.uk.xensource.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <21172.35652.484647.666791@mariner.uk.xensource.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xensource.com Cc: Ian Campbell List-Id: xen-devel@lists.xenproject.org Comments on my approach would be very welcome at this stage. This applies only on top of my async suspend series. I have compiled it but I HAVE NOT EXECUTED IT. There is nothing to exercise this. I think it might be possible to make xl have a SIGINT handler which DTRT, but only at the cost of making it multithreaded or giving it its own event loop. Preparatory work on the suspend code's dodgy error handling: 01/14 libxl: suspend: switch_logdirty_done takes rc 02/14 libxl: suspend: common suspend callbacks take rc 03/14 libxl: suspend: Return correct error from callbacks Switching to libxl__xswait* to reduce number of timeout call sites: 04/14 libxl: Use libxl__xswait* in libxl__ao_device 05/14 libxl: xswait/devstate: Move xswait to before devstate 06/14 libxl: devstate: Use libxl__xswait* Public API changes: 07/14 libxl: New error codes CANCELLED etc. 09/14 libxl: domain create: Do not destroy on cancellation 13/14 libxl: ao: Cancellation API Internal API changes: 08/14 libxl: events: Permit timeouts to signal cancellation 10/14 libxl: ao: Record ultimate parent of a nested ao 11/14 libxl: ao: Count the nested progeny of an ao 12/14 libxl: ao: Provide manip_refcnt Actual functionality! 14/14 libxl: ao: Timeouts are cancellable