mbox series

[0/8] libxl: event: Fix hang for some applications

Message ID 20200110132902.29295-1-ian.jackson@eu.citrix.com (mailing list archive)
Headers show
Series libxl: event: Fix hang for some applications | expand

Message

Ian Jackson Jan. 10, 2020, 1:28 p.m. UTC
The meat here, including a description of the bug, is in:
  libxl: event: Fix hang when mixing blocking and eventy calls

I have compiled this but not tested it.  We do not have a good test
suite for this event stuff.  (And races etc are hard to test.)
George, can you check to see whether it fixes the issue you saw ?

If so then I suggest we try to convince ourselves of its correctness
via a second round of code review.  I will certainly want to read it
all again after the weekend, since then I will hopefully have
forgotten enough about this to make that a worthwhile exercise.

Ian Jackson (8):
  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: 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
  libxl: event: Move poller pipe emptying to the end of afterpoll

 tools/libxl/libxl.c          |   4 +-
 tools/libxl/libxl_event.c    | 126 ++++++++++++++++++++++++++++++-------------
 tools/libxl/libxl_fork.c     |   6 +--
 tools/libxl/libxl_internal.h |  42 +++++++++++----
 4 files changed, 127 insertions(+), 51 deletions(-)