Date | Commit message (Collapse) |
|
Installing prrerelease versions are strange on RubyGems.
Anyways, new project, no risk of breakage, so maybe this
works better...
|
|
Shorter URLs should be easier-to-type, since we already have
the project name in the path component of the URL.
|
|
Follow-up to commit 4b7ffee7c2436b1839146fd124e731a63f20d03e
(remove tiny_input)
|
|
Hmm... greylisting is annoying on Rubyforge.
|
|
Apparently "#{name}" does not expand properly in gemspecs :x
|
|
It runs, maybe!
|
|
We want to shutdown gracefully, but still relatively quickly (to
make way for the new one). So we must disable persistent
connections to prevent clients from keeping to-be-dead server alive
indefinitely.
|
|
Some users may wish to disable persistent connections for testing
or whatever reason, let them. We'll also be using this feature
to force SIGQUIT to expire clients.
|
|
We'll probably drop the unicorn dependency in the future and use
kcar once it gains the ability to parse server requests (and not
just responses). kcar is descended from the unicorn parser
anyways and supports the same enhancements (chunked
encoding/trailers).
|
|
Since we are smarter about closing @input, we can just call
.close on it as closing inputs is forbidden in Rack apps,
anyways. This reduces our class count and should make
things easier to follow.
|
|
That is the common case, so we should not be calling
the discard method on NULL_IO. This makes NULL_IO a StringIO,
again.
|
|
This should help prevent us from running out of FDs prematurely
as our test suite becomes more multi-threaded. We can also use
plain TCPSocket in tests where we inherit the file descriptor
from the parent (w/o accept).
|
|
Unfortunately, this will need further work because tests
are MT and FD counts vary, so reproducing reliable FD
counts will need to rely on exec + FD_CLOEXEC.
|
|
This is rarely-called code, but we need to be sure we can expire
clients correctly when thresholds are reached. We also correctly
handle negative values of the client_expire_threshold directive.
|
|
Rainbows!/unicorn (and nginx) were designed when migrating clients
between threads/processes was not feasible. yahns expires based on
FD pressure, so it should not need an arbitrary limit (but the Rack
app may specify "Connection: close" to kill a connection.
|
|
|