Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Jun 25, 2013
  1. @jaredmorrow
Commits on Apr 15, 2013
  1. @beerriot
  2. @beerriot

    PULSE annotations to support bwf-pool-race branch of riak_core

    beerriot authored
    The worker_pool_pulse.erl test in riak_core needs poolboy to be compiled with PULSE annotations. This commit provides those.
Commits on Sep 4, 2012
  1. @Vagabond
  2. @devinus
  3. @devinus

    Add make qc

    devinus authored
  4. @devinus

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

    devinus authored
    Fix backwards compatability with old start_link/2
  5. @Vagabond

    Fix backwards compatability with old start_link/2

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

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

    devinus authored
    Update quickcheck to use blocking/1 and fix uncovered bug
  2. @Vagabond

    Update quickcheck to use blocking/1 and fix uncovered bug

    Vagabond authored
    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.
Commits on Aug 14, 2012
  1. @devinus

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

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

    Merge branch 'master' of github.com:devinus/poolboy

    Vagabond authored
    Conflicts:
    	.travis.yml
    	README.md
  2. @devinus

    Let's do R15 too, why not

    devinus authored
  3. @devinus
  4. @devinus

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

    devinus authored
    Switch to a R14 compatible rebar and re-add R14 testing to travis
  5. @Vagabond
  6. @devinus

    Bump version to 0.8.1

    devinus authored
  7. @devinus
  8. @devinus
  9. @devinus

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

    devinus authored
    Fix bugs added by using the ETS table found by quickcheck
  10. @Vagabond

    Fix bugs added by using the ETS table found by quickcheck

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

    Merge pull request #11 from jamesgolick/master

    devinus authored
    poolboy:status/1
Commits on Jul 4, 2012
  1. @jamesgolick
  2. @jamesgolick
Commits on Jul 2, 2012
  1. @seancribbs

    Add chat bot notification.

    seancribbs authored
Commits on Jun 28, 2012
  1. @seancribbs
Commits on Apr 27, 2012
  1. @devinus

    Several additions and improvements

    devinus authored
    - 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.
  2. @devinus

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

    devinus authored
    …, allowing it to terminate
  3. @devinus

    Bump the version

    devinus authored
  4. @devinus

    Performance improvements and simplifications

    devinus authored
    - 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.
Something went wrong with that request. Please try again.