]> xenbits.xensource.com Git - xen.git/commitdiff
libxl: Extend libxl__ao_device with a libxl__ev_child member
authorYang Hongyang <yanghy@cn.fujitsu.com>
Fri, 18 Jul 2014 08:40:54 +0000 (16:40 +0800)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Fri, 26 Sep 2014 14:12:37 +0000 (15:12 +0100)
This can be used to fork children to allow the asynchronous execution
of system calls which only come in a synchronous variant. This will
be useful for Remus, in the following patches.

Signed-off-by: Yang Hongyang <yanghy@cn.fujitsu.com>
Signed-off-by: Shriram Rajagopalan <rshriram@cs.ubc.ca>
Acked-by: Ian Jackson <ian.jackson@eu.citrix.com>
Acked-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
tools/libxl/libxl_device.c
tools/libxl/libxl_internal.h

index 4c49c4cb3f39a53686a9191a2c2d4c21acc1ea10..4b51ded82041c0ccf478b0bb0683a75f59090219 100644 (file)
@@ -453,6 +453,7 @@ void libxl__prepare_ao_device(libxl__ao *ao, libxl__ao_device *aodev)
     /* We init this here because we might call device_hotplug_done
      * without actually calling any hotplug script */
     libxl__async_exec_init(&aodev->aes);
+    libxl__ev_child_init(&aodev->child);
 }
 
 /* multidev */
index a2dd7ca9f6d447ba214c50e53809adc3d8cccb03..4a444822d8166990eaf98e0780497980299691ea 100644 (file)
@@ -2150,6 +2150,8 @@ struct libxl__ao_device {
     libxl__async_exec_state aes;
     /* If we need to update JSON config */
     bool update_json;
+    /* for asynchronous execution of synchronous-only syscalls etc. */
+    libxl__ev_child child;
 };
 
 /*