The meat here, including a description of the bug, is in:
libxl: event: Fix hang when mixing blocking and eventy calls
This is all now Reviewed-by and Tested-by George, so it is ready to be
committed. But I will be away for a bit soon and reverting something
of this form is probably undesirable. So I will commit this in
something over a week (assuming no further comments arise).
The changes here from v2 are only to two of the commit messages
(marked m in the list below).
I am not sure whether this series is a backport candidate. It is not
impossible that the bug we are fixing here is affecting (say) libvirt.
But if so presumably not in a significant way as we haven't seen
reports. So even though this is a bugfix, I'm sceptical.
Ian Jackson (10):
libxl: event: Rename poller.fds_changed to .fds_deregistered
libxl: event: Rename ctx.pollers_fd_changed to .pollers_active
libxl: event: Introduce CTX_UNLOCK_EGC_FREE
libxl: event: Make LIBXL__EVENT_DISASTER take a gc, not an egc
m libxl: event: Make libxl__poller_wakeup take a gc, not an egc
libxl: event: Fix hang when mixing blocking and eventy calls
libxl: event: poller pipe optimisation
libxl: event: Break out baton_wake
libxl: event: Fix possible hang with libxl_osevent_beforepoll
m libxl: event: Move poller pipe emptying to the end of afterpoll
tools/libxl/libxl.c | 4 +-
tools/libxl/libxl_aoutils.c | 2 +-
tools/libxl/libxl_disk.c | 4 +-
tools/libxl/libxl_domain.c | 2 +-
tools/libxl/libxl_event.c | 286 +++++++++++++++++++++++++++++++++++--------
tools/libxl/libxl_fork.c | 17 ++-
tools/libxl/libxl_internal.h | 54 +++++---
7 files changed, 290 insertions(+), 79 deletions(-)
--
2.11.0
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel