Permalink
Commits on Aug 25, 2010
  1. This repository is no longer used for development of the GHC I/O

    manager
    
    Updated the README to point future contributors to the GHC base
    library.
    Johan Tibell committed Aug 25, 2010
Commits on Jun 16, 2010
  1. Removed signals support

    We're unlikely to use it when integrating with base.
    committed Jun 16, 2010
  2. Removed all dependencies on the Prelude

    This is needed so that the library can be merged into base, which
    implements the Prelude using the I/O manager.
    committed Jun 16, 2010
Commits on Jun 4, 2010
Commits on Jun 3, 2010
  1. Reverted the previous select back-end commit

    Johan Tibell committed Jun 3, 2010
  2. Added a mostly working select back-end

    Commited so we have a historical record of the code.  The code could
    be used to allow async I/O for sockets on Windows.  Poll can be used
    on all other platforms.
    Johan Tibell committed Jun 3, 2010
Commits on May 31, 2010
  1. Fix compilation errors on OS X

    committed May 31, 2010
  2. Fix broken createN unit test

    A race condition involving 'shutdown' and 'loop' could cause the event
    manager to not shutdown correctly.  The bad interleaving would have
    'shutdown' think the event manager hadn't started yet while it was in
    fact starting in another thread that was calling 'loop'.
    Johan Tibell committed May 31, 2010
Commits on May 27, 2010
  1. Removed unusable UNPACK pragmas

    Johan Tibell committed May 27, 2010
Commits on May 26, 2010
  1. Added helper script for git bisect

    Johan Tibell committed May 26, 2010
Commits on May 12, 2010
Commits on May 10, 2010
  1. Fix issue #1, for reasons I can't say I understand.

    Bryan O'Sullivan committed May 10, 2010
  2. Make code easier to debug.

    Bryan O'Sullivan committed May 10, 2010
Commits on May 9, 2010
  1. Add a test for issue #1

    Bryan O'Sullivan committed May 9, 2010
  2. Fix startupShutdown regression.

    Bryan O'Sullivan committed May 9, 2010
  3. Add regression test module.

    Bryan O'Sullivan committed May 9, 2010
  4. Merge

    Bryan O'Sullivan committed May 9, 2010
Commits on Apr 9, 2010
  1. Makefile clean-up

    Johan Tibell committed Apr 9, 2010
Commits on Mar 24, 2010
  1. Fix

    bos committed Mar 24, 2010
  2. Remove last blocking op.

    bos committed Mar 24, 2010
  3. Merge

    bos committed Mar 24, 2010
  4. Merge

    bos committed Mar 24, 2010
  5. More event plumbing

    bos committed Mar 24, 2010
  6. Merge with tibbe

    bos committed Mar 24, 2010
Commits on Mar 20, 2010
Commits on Mar 19, 2010
  1. Worked around a generational GC issue

    Instead of directly modifying the 'TimeoutQueue' in
    e.g. 'registerTimeout' we keep a list of edits to perform and have the
    I/O manager thread perform the edits later.  This exist to address the
    following GC problem:
    
    Since e.g. 'registerTimeout' doesn't force the evaluation of the
    thunks inside the 'emTimeouts' IORef a number of thunks build up
    inside the IORef.  If the I/O manager thread doesn't evaluate these
    thunks soon enough they'll get promoted to the old generation and
    become roots for all subsequent minor GCs.
    
    When the thunks eventually get evaluated they will each create a new
    intermediate 'TimeoutQueue' that immediately becomes garbage.  Since
    the thunks serve as roots until the next major GC these intermediate
    'TimeoutQueue's will get copied unnecesarily in the next minor GC,
    increasing GC time.  This problem is known as "floating garbage".
    
    Keeping a list of edits doesn't stop this from happening but makes the
    amount of data that gets copied smaller.
    
    The run-time of "thread-delay -n 20000" goes down by 34%.  The
    measurement was done by taking the median run-time of five runs.
    committed Mar 19, 2010
Commits on Mar 17, 2010
  1. Speed improvements (minor).

    bos committed Mar 17, 2010
  2. Increase listen queue sizes.

    bos committed Mar 17, 2010
  3. Fix a silly file descriptor leak.

    bos committed Mar 17, 2010
  4. Beef up the RFC2616 code.

    * Fix a couple of spec infelicities.
    * Parse HTTP responses as well as requests.
    * Add some helper functions.
    bos committed Mar 17, 2010