…iquepaz-clean_shutdown Conflicts: src/poolboy.erl
Because gen doesn't export the start_ret type, we need to move it into poolboy to actually use it.
Instead of round-robin of worker selection from the pool, we now use a LIFO principle to select a worker. Rationale behind this is that 'hot' workers are better workers to use than cold workers. For instance, in database applications, worker processes might decide to close their connection after being idle for a while (see devinus' comment on #30). Doing round-robin selection would cause a new database connection to be established each time for each new worker even when the pressure on the pool is low (e.g. with just 1 process doing sequential db queries).
WARNING: this commit breaks compatibility with Erlang releases prior to R15