Date | Commit message (Collapse) |
|
Finally, we have all methods in configurator and it's
much easier to document!
|
|
It can't be used as middleware for fully-buffering concurrency
models.
|
|
GPLv2 and Ruby-specific terms remain intact, but this means
we can be combined and redistributed with GPLv3-only software
(once Unicorn has GPLv3 added to its license).
|
|
There's actually no reason we can't have these methods
in Rainbows::Configurator where it's easier to document
nowadays.
|
|
CoolioThreadPool has had it supported forever, but
only NeverBlock had it documented.
|
|
Some things were never going to get done due to lack of interest
from users.
|
|
Clearly users need to know about more options
|
|
It's good to describe what they're useful for.
|
|
It's an internal implementation detail.
|
|
speling ficks and less confusing #initialize documentation
|
|
We're now able to configure the number of threads independently
of worker_connections.
|
|
coolio_thread_pool, neverblock both use it, and
xepoll_thread_pool will support it next, too.
|
|
Just the test name is irrelevant
|
|
This is probably friendlier on server resources in the worst
case than XEpollThreadSpawn but may perform worse in the client
client-visible way, too.
|
|
Fixed in kgio 2.4.0 now
This reverts commit a1168e7d2bfe182896f139d051ef099616fd1646.
|
|
No need for a string comparison
|
|
kgio 2.4.0 has some 1.9.3dev fixes which affect us
|
|
We only poll for one event (EPOLLIN/EPOLLOUT) at a time,
so there's no need to actually check since they're too
rare.
|
|
worker_yield is safer than setting a threshold with multiple
acceptors when thread limits are hit. Also, avoid sleep +
Thread#run since it's potentially racy if threads are extremely
unfairly scheduled.
Same things applied to xepoll_thread_spawn.
|
|
Infinite sleep is too dangerous due to possible race conditions,
so use worker_yield which is safer and cheaper in the general
case. We can also avoid sleeping on new threads by only
spawning when the client module is included.
|
|
Otherwise pipeline_ready can false positive on us
|
|
shorter line and 3 lines of code killed!
|
|
Not that it's actually used, right now.
|
|
|
|
Newer versions should be better
|
|
More sharing, faster startups, and most importantly,
better error reporting if some things are missing.
|
|
It *can* have as many threads as it does idle connections.
|
|
We won't forget to reset defaults on SIGHUP anymore.
|
|
Too confusing otherwise...
|
|
We're changing our default to 1K buffers to save memory. This
should reduce memory usage of idle clients and lower pressure on
the MRI GC. Rails applications using session cookies (the
default) may want to up this to 2K or more.
|
|
Just use regular autoload, now. Less guesswork.
|
|
pavinging the way for changing MODEL_WORKER_CONNECTIONS
|
|
Rainbows! is a bit bigger than Unicorn and usually requires
being sandboxed, too.
|
|
HTTP headers are usually smaller than 4K, so 16K was way too
much for most users and often caused unnecessary GC runs.
EventMachine and Coolio models can all share the same initial
read buffer, so it's less urgent that they get this lowered for
now...
|
|
This one actually has a realistic chance of running
hundreds/thousands of clients, and 32K per-client is
a huge amount.
|
|
Epoll#wait and epoll_wait(2) timeouts are in milliseconds,
not seconds. This affects xepoll, too.
|
|
Noticed under 1.8.7
|
|
Whee! This is going to be awesome.
|
|
They're probably ready for general use in a very limited
capacity...
|
|
Too much NIH and too fragile.
|
|
|
|
|
|
No need to expose things that don't need exposing.
|
|
This may change again in the future, but it
paves the way for simplifying this code...
|
|
This should make code review easier.
|
|
Might as well, threads are free and cheap on 64-bit
|
|
In case people try to do C10K, make life easier for them.
|
|
Thread-switching sometimes takes too long under YARV, so we
force a switch since the watchdog thread is lower-priority.
|
|
Should be fixed in 1.9.3 and/or future Kgio...
|
|
Might as well use the latest and greatest.
|