Skip to content
Commits on Oct 26, 2012
  1. Fix server_cast spec

    committed Oct 26, 2012
Commits on Oct 10, 2012
  1. @devinus

    Add EXPM package definitions

    devinus committed Oct 10, 2012
Commits on Sep 4, 2012
  1. @devinus
  2. @devinus

    Add make qc

    devinus committed Sep 4, 2012
  3. @devinus

    Merge pull request #16 from devinus/adt-backwards-compat

    Fix backwards compatability with old start_link/2
    devinus committed Sep 4, 2012
  4. @Vagabond

    Fix backwards compatability with old start_link/2

    If the old API is used, pass PoolArgs as WorkerArgs so that legacy code
    doesn't break.
    
    Also, fix some whitespace screwups.
    Vagabond committed Sep 4, 2012
Commits on Aug 31, 2012
  1. @devinus

    Merge pull request #15 from devinus/adt-eqc-blocking

    Update quickcheck to use blocking/1 and fix uncovered bug
    devinus committed Aug 31, 2012
  2. @Vagabond

    Update quickcheck to use blocking/1 and fix uncovered bug

    Blocking/1 was added in quickcheck 1.27 and allows the test to indicate
    which states might block execution and lets quickcheck find bugs around
    them.
    
    The bug uncovered has to do with when a process holding a worker exits,
    the DOWN monitor fires and poolboy calls supervisor:terminate_child on
    the worker the process held. When the EXIT message comes in for that
    process, we then change the state around such that there is an
    additional worker.
    
    This caused a race condition if there were already checkout messages
    waiting in the mailbox, because the EXIT message would come in behind
    the checkout messages, and so even though we had just killed a worker,
    we'd fail checkouts because we hadn't processed the EXIT yet.
    
    The fix is to call into handle_worker_exit right after we terminate the
    worker, thus updating our state to reflect the actual worker count
    before processing any messages in the mailbox.
    Vagabond committed Aug 31, 2012
Commits on Aug 14, 2012
  1. @devinus

    Add start/1 and start/2 for starting pools without linking to the

    starting process.
    
    This is useful for use in e.g. init_per_suite/1 in Common Tests.
    devinus committed Aug 14, 2012
Commits on Aug 10, 2012
  1. @devinus
Commits on Aug 9, 2012
  1. @devinus
Commits on Aug 8, 2012
  1. @devinus

    Let's do R15 too, why not

    devinus committed Aug 8, 2012
  2. @devinus
  3. @devinus

    Merge pull request #13 from devinus/adt-r14-testing

    Switch to a R14 compatible rebar and re-add R14 testing to travis
    devinus committed Aug 8, 2012
  4. @Vagabond
  5. @devinus

    Bump version to 0.8.1

    devinus committed Aug 8, 2012
  6. @devinus
  7. @devinus
  8. @devinus

    Merge pull request #12 from devinus/adt-eqc-fixes

    Fix bugs added by using the ETS table found by quickcheck
    devinus committed Aug 8, 2012
  9. @Vagabond

    Fix bugs added by using the ETS table found by quickcheck

    Additionally, fix some minor issues in the quickcheck test
    Vagabond committed Aug 8, 2012
  10. @devinus
  11. @devinus
Commits on Aug 7, 2012
  1. @devinus

    Merge pull request #11 from jamesgolick/master

    poolboy:status/1
    devinus committed Aug 7, 2012
Commits on Jul 4, 2012
  1. @jamesgolick
  2. @jamesgolick
Commits on Apr 27, 2012
  1. @devinus

    Several additions and improvements

    - Change a `queue:len/1` call during a checkout in the ready state to use
      `queue:is_empty/1`. All operations in poolboy that aren't informational
      or disaster recovery should now theoretically be O(1).
    - There is now "transaction" support using `transaction/2`. This will
      run a user defined function passed the worker checked out in a try
      block, ensuring that the worker is checked back into the pool should
      the operation fail.
    - A `child_spec/2` helper for embedding poolboy pools  within your
      supervisors.
    - Documentation updates.
    devinus committed Apr 27, 2012
  2. @devinus

    Use the supervisor the shutdown a worker when it's owner process dies…

    …, allowing it to terminate
    devinus committed Apr 27, 2012
  3. @devinus

    Bump the version

    devinus committed Apr 27, 2012
  4. @devinus

    Performance improvements and simplifications

    - Monitors are now stored in an ETS table. Simple profiling revealed
      that a lot of time was being taken in `lists:keytake/3` looking up the
      refs by pid. This should provide O(1) constant time lookup.
    - Workers are now no longer required to handle `stop` messages. Workers
      are terminated using `supervisor:terminate_child/2` and the shutdown
      strategy is no longer brutal_kill.
    - Other various cleanups.
    devinus committed Apr 27, 2012
Commits on Apr 2, 2012
  1. @devinus
Commits on Mar 22, 2012
  1. @devinus

    Bump the version

    devinus committed Mar 22, 2012
  2. @devinus

    Add poolboy_worker behaviour

    devinus committed Mar 22, 2012
  3. @devinus

    Upgrade rebar

    devinus committed Mar 22, 2012
  4. @devinus
Something went wrong with that request. Please try again.