diff options
author | Ian Jackson <ian.jackson@eu.citrix.com> | 2012-05-11 18:59:06 +0100 |
---|---|---|
committer | Ian Jackson <ian.jackson@eu.citrix.com> | 2012-05-11 18:59:06 +0100 |
commit | b71db3824995ca27b106a2d9fab1a24f93244a4f (patch) | |
tree | 4febbd9b3677745cfb28f740eec744bccd729c19 /tools/libxl/libxl_types.idl | |
parent | 172af31d56bad27a570c3f4e2bd1e82083afa0b0 (diff) | |
download | xen-b71db3824995ca27b106a2d9fab1a24f93244a4f.tar.gz xen-b71db3824995ca27b106a2d9fab1a24f93244a4f.tar.bz2 xen-b71db3824995ca27b106a2d9fab1a24f93244a4f.zip |
libxl: convert console callback to libxl_asyncprogress_how
Remove the old console callback. (Its reentrancy properties were
troublesome: in principle, the event loop might be reentered during
the callback, and the libxl__domain_create_state swept out from under
the feet of the domain creation.)
As a side effect of the new code arrangements, the console callback
for non-bootloader-using PV guests now occurs near the end of domain
creation, in the same place as for HVM guests, rather than near the
start.
The new arrangements should in principle mean that by the time the
console is described as ready by the callback, the xenstore key is
indeed ready. So in the future the timeout might be removed from
the console client.
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Diffstat (limited to 'tools/libxl/libxl_types.idl')
-rw-r--r-- | tools/libxl/libxl_types.idl | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/tools/libxl/libxl_types.idl b/tools/libxl/libxl_types.idl index 68599cb17e..551e367107 100644 --- a/tools/libxl/libxl_types.idl +++ b/tools/libxl/libxl_types.idl @@ -459,6 +459,7 @@ libxl_event_type = Enumeration("event_type", [ (2, "DOMAIN_DEATH"), (3, "DISK_EJECT"), (4, "OPERATION_COMPLETE"), + (5, "DOMAIN_CREATE_CONSOLE_AVAILABLE"), ]) libxl_ev_user = UInt(64) @@ -484,4 +485,5 @@ libxl_event = Struct("event",[ ("operation_complete", Struct(None, [ ("rc", integer), ])), + ("domain_create_console_available", Struct(None, [])), ]))]) |