1. 13 Jan, 2015 4 commits
  2. 12 Jan, 2015 4 commits
    • Ben Gamari's avatar
      Event Manager: Make one-shot a per-registration property · 02343998
      Ben Gamari authored
      Currently the event manager has a global flag for whether to create
      epoll-like notifications as one-shot (e.g. EPOLLONESHOT, where an fd
      will be deactivated after its first event) or standard multi-shot
      Unfortunately this means that the event manager may export either
      one-shot or multi-shot semantics to the user. Even worse, the user has
      no way of knowing which semantics are being delivered. This resulted in
      breakage in the usb[1] library which deadlocks after notifications on
      its fd are disabled after the first event is delivered.  This patch
      reworks one-shot event support to allow the user to choose whether
      one-shot or multi-shot semantics are desired on a per-registration
      basis. The event manager can then decide whether to use a one-shot or
      multi-shot epoll.
      A registration is now defined by a set of Events (as before) as well as
      a Lifetime (either one-shot or multi-shot). We lend monoidal structure
      to Lifetime choosing OneShot as the identity. This allows us to combine
      Lifetime/Event pairs of an fd to give the longest desired lifetime of
      the registration and the full set of Events for which we want
      [1] https://github.com/basvandijk/usb/issues/7
      Test Plan: Add more test cases and validate
      Reviewers: tibbe, AndreasVoellmy, hvr, austin
      Reviewed By: austin
      Subscribers: thomie, carter, simonmar
      Differential Revision: https://phabricator.haskell.org/D347
    • Herbert Valerio Riedel's avatar
    • rwbarton's avatar
      Move libffi configuration after basic toolchain setup · a5bc2579
      rwbarton authored
      The relevant aspect is that the libffi configuration's AC_CHECK_LIB
      and AC_CHECK_HEADERS are moved after FIND_GCC. There are two reasons
      to do this:
      1. We should detect the presence of libffi using the C compiler
      that we are eventually going to use to build GHC.
      2. Running AC_CHECK_HEADERS before FIND_GCC pollutes the CPP variable
      with "gcc -E" (wrong when cross-compiling), and CPP is not reset
      by FIND_GCC. Thus this patch fixes x86_64 -> i386 cross-compilation
      of integer-gmp2.
      Test Plan: Local x86_64 -> i386 cross-compiling validate; Harbormaster
      Reviewers: austin
      Reviewed By: austin
      Subscribers: erikd, carter, thomie
      Differential Revision: https://phabricator.haskell.org/D597
    • rwbarton's avatar
      inplace: Don't add empty component to LD_LIBRARY_PATH when it is empty · fe0d289d
      rwbarton authored
      Summary: Avoids a confusing inconsistency when testing #9386 (about ghci finding .so files in .).
      Test Plan: validate
      Reviewers: austin
      Reviewed By: austin
      Subscribers: carter, thomie
      Differential Revision: https://phabricator.haskell.org/D593
      GHC Trac Issues: #9386
  3. 11 Jan, 2015 1 commit
  4. 09 Jan, 2015 14 commits
  5. 08 Jan, 2015 8 commits
  6. 07 Jan, 2015 5 commits
  7. 06 Jan, 2015 4 commits