libxl: Deprecate synchronous waiting for the device model
authorIan Jackson <ian.jackson@eu.citrix.com>
Mon, 14 Oct 2013 16:26:01 +0000 (17:26 +0100)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Tue, 12 Nov 2013 17:27:09 +0000 (17:27 +0000)
commit47cb2273b2bfc25279c917d0bb5a67dc2d9266bc
tree81603993a851d436a567c0ae1b4a9135e0da4dec
parentf6d2a87f051456bddb7a47922c8cf60f37073063
libxl: Deprecate synchronous waiting for the device model

libxl__wait_for_device_model blocks, with the ctx lock held, waiting
for a response from the device model.  If the dm doesn't respond
quickly (for example, because it has crashed), this may block the
whole process.  Explain this in a comment, rename the function to
libxl__wait_for_device_model_deprecated, and explain what to use
instead.

libxl__wait_for_offspring is the core implementation for the above.
Its name leads people to think it might be generally useful for
waiting for children, which is far from the case.  It only waits for
xenstore.  Also it has the problems described above.  Explain this,
rename it to libxl__xenstore_child_wait_deprecated, and explain what
to use instead.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
tools/libxl/libxl.c
tools/libxl/libxl_device.c
tools/libxl/libxl_dom.c
tools/libxl/libxl_exec.c
tools/libxl/libxl_internal.h
tools/libxl/libxl_pci.c