Date | Commit message (Collapse) |
|
It may have caused confusion that the licenses we're under
were incompatible with older Rubygems which is not the case.
|
|
We no longer have external lookups for it so just stick it in
the DEFAULTS hash for now. Since the Configurator::DEFAULTS
hash can be considered a stable interface for other modules to
interact with, they can eventually just use it instead of
relying on another constant.
|
|
Hopefuly make it more obvious that they're Ruby symbols and not
strings. While we're at it, fix ordering of :{rcv,snd}buf
descriptions to (logically) match the order of mention.
|
|
* Use the new :tries and :default parameters for listen()
instead of the ugly and less-effective "rescue nil"
* ActiveRecord connection management examples for hooks when
using for "preload_app true"
* combine "preload_app true" example with REE COW-friendly
optimization for memory savings
Some of these are based on Chris Wanstrath's configuration
posted here: http://gist.github.com/189623
|
|
Sometimes the upgraded version won't survive and we can fail to
unset that pid and instead accidentally create a local variable.
This is unlikely to be a problem in practice because this
variable is immediately reclobbered when we fork.
|
|
Array#concat avoids an intermediate Array object from being
allocated (yes, still supporting Rails <= 1.2.x apps...)
|
|
Our HttpResponse class interprets non-Integer string status
now as well as falling back if it can't be looked up.
|
|
It really shouldn't be a problem for existing CGI apps
to write to the StringIO object..
|
|
We've started using magic comments to ensure any strings we
create are binary instead. Additionally, ensure we create any
StringIO objects with an explicit string (which default to
binary) to ensure the StringIO object is binary. This is
because StringIO.new (with no arguments) will always use the
process-wide default encoding since it does not know about
magic comments (and couldn't, really...)
|
|
Avoids making the #listen method any noisier than it should be.
|
|
This may be redundant for the "normal" configuration file
directive, but allows the same syntax to be used in after_fork
hooks where HttpServer#listen() may be called.
|
|
Sometimes we test with unicorn_http.so in lib, but that
gets mistakenly picked up by setup.rb and can wreak havoc
for on upgrades if ABIs change.
|
|
This allows per-worker listeners to be configured to retry and
and not continue until the equivalent worker belonging to a
previous master (or even another server) has released the
socket.
In the Configurator RDoc, include better examples for
per-worker server.listen calls using these :tries == -1.
Inspired by an example by Chris Wanstrath.
|
|
Based on the experiences of Tom Preston-Werner:
http://thread.gmane.org/gmane.comp.lang.ruby.unicorn.general/24/focus=28
|
|
Also make files easier to overwrite while we're at it
|
|
We don't need the Z constant anymore and inlining the header
writing gives a small overall performance improvement in
microbenchmarks. This also makes this method reentrant and
thread-safe for Rainbows as well.
|
|
It is simpler and even slightly faster in micro benchmarks
when inlined.
|
|
One less thing to RDoc
|
|
The .manifest dependencies were causing unnecessarily copies for
the tests to run.
|
|
We don't want to accidentally kill every process in the
process group.
|
|
This allows `gem check -t unicorn` to work. The rest of
the tests run with GNU make but I don't have the patience
to get them working with pure-Ruby since I can't stand
running those tests sequentially anyways.
|
|
Not sure if anybody runs tests with Rubygems directly
(instead of unpacking the source tree, but it's there)
|
|
This issue is still being looked at, but hopefully
this note can help folks if they run into this.
|
|
This deserves to be a separate document and easier to find/edit.
|
|
"licenses=" is not in older Rubygems and some organizations
are still stuck on those...
|
|
This matches the manpage and the rest of the documentation.
|
|
|
|
We changed this in 97e469fc3afb751618b8b9a7b364cb447aaf90dd
but never updated the example.
|
|
|
|
Now tests run after a clean checkout (as long as rack libraries
are in $LOAD_PATH, probably via RUBYLIB).
|
|
|
|
|
|
Not everybody can use it, even if most of the world can.
|
|
Make finger output as meaningful as possible to folks on
slower connections and small terminals
|
|
No need to bloat our tarballs too much with information people
are unlikely to ever read, NEWS is more user-oriented.
|
|
$(wildcard) is evaluated as soon as the target command
is called, resulting in the manpages not being globbed
since we just generated them. Also, bundle manpages
with documentation.
|
|
I just distributed a tarball with my local FS path
in the documentation :(
|
|
Small fixes and documentation are the focus of this release.
James Golick reported and helped me track down a bug that caused
SIGHUP to drop the default listener (0.0.0.0:8080) if and only
if listeners were completely unspecified in both the
command-line and Unicorn config file. The Unicorn config file
remains the recommended option for specifying listeners as it
allows fine-tuning of the :backlog, :rcvbuf, :sndbuf,
:tcp_nopush, and :tcp_nodelay options.
There are some documentation (and resulting website)
improvements. setup.rb users will notice the new section 1
manpages for `unicorn` and `unicorn_rails`, Rubygems users
will have to install manpages manually or use the website.
The HTTP parser got a 3rd-party code review which resulted in
some cleanups and one insignificant bugfix as a result.
Additionally, the HTTP parser compiles, runs and passes unit
tests under Rubinius. The pure-Ruby parts still do not work yet
and we currently lack the resources/interest to pursue this
further but help will be gladly accepted.
The website now has an Atom feed for new release announcements.
Those unfamiliar with Atom or HTTP may finger unicorn@bogomips.org
for the latest announcements.
|
|
No need to waste bandwidth with more.
|
|
|
|
The inline formatting for the CLI switch was too hard to
get right and was too long anyways.
|
|
Otherwise we end up with unreadable manpages.
|
|
Avoid needlessly wasting readers' bandwidth if they're caching.
|
|
We're expanding our target audience to folks that do not use
HTTP (yet).
|
|
The ChangeLog feed points to the cgit repository viewer
and the NEWS one is its own feed of tags. Web 2.0 here
we come!
|
|
|
|
Kinda sorta works, still some Markdown => HTML formatting issues
to work out but it gives the site a reasonably consistent look.
|
|
Additionally, force ourselves to verify our working tree against
$(VERSION) when doing releases because we don't want to screw
that up.
|
|
setup.rb users will now be able to install manpages under
man/man1 automatically, no solution for Rubygems users yet.
gzipped manpages are no longer created by default, either,
it's probably up to distros to do it.
|
|
It may not be portable to older versions of gzip
|