about summary refs log tree commit homepage
DateCommit message (Collapse)
2009-09-28gemspec: clarify commented-out licenses section
It may have caused confusion that the licenses we're under were incompatible with older Rubygems which is not the case.
2009-09-28configurator: remove DEFAULT_LOGGER constant
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.
2009-09-28configurator: add colons in front of listen() options
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.
2009-09-28configurator: update and modernize examples
* 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
2009-09-27server: correctly unset reexec_pid on child death
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.
2009-09-27cgi_wrapper: use Array#concat instead of +=
Array#concat avoids an intermediate Array object from being allocated (yes, still supporting Rails <= 1.2.x apps...)
2009-09-27cgi_wrapper: simplify status handling in response
Our HttpResponse class interprets non-Integer string status now as well as falling back if it can't be looked up.
2009-09-27cgi_wrapper: don't warn about stdoutput usage
It really shouldn't be a problem for existing CGI apps to write to the StringIO object..
2009-09-27Remove "Z" constant for binary strings
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...)
2009-09-27configurator: move initialization stuff to #initialize
Avoids making the #listen method any noisier than it should be.
2009-09-27Use Configurator#expand_addr in HttpServer#listen
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.
2009-09-27"make install" avoids installing multiple .so objects
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.
2009-09-27HttpServer#listen accepts :tries and :delay parameters
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.
2009-09-27TUNING: notes about benchmarking a high :backlog
Based on the experiences of Tom Preston-Werner: http://thread.gmane.org/gmane.comp.lang.ruby.unicorn.general/24/focus=28
2009-09-27local.mk.sample: fix .js times
Also make files easier to overwrite while we're at it
2009-09-27http_response: simplify and remove const dependencies
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.
2009-09-27http_request: simplify and remove handle_body method
It is simpler and even slightly faster in micro benchmarks when inlined.
2009-09-27util: remove APPEND_FLAGS constant
One less thing to RDoc
2009-09-27GNUmakefile: cleanup test/manifest generation
The .manifest dependencies were causing unnecessarily copies for the tests to run.
2009-09-27test_signals: ensure we can parse pids in response
We don't want to accidentally kill every process in the process group.
2009-09-27gemspec: remove tests that fork from test_files
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.
2009-09-27gemspec: fix test_files regexp match
Not sure if anybody runs tests with Rubygems directly (instead of unpacking the source tree, but it's there)
2009-09-24KNOWN_ISSUES: add notes about the "isolate" gem
This issue is still being looked at, but hopefully this note can help folks if they run into this.
2009-09-24Split out KNOWN_ISSUES document
This deserves to be a separate document and easier to find/edit.
2009-09-24gemspec: compatibility with older Rubygems
"licenses=" is not in older Rubygems and some organizations are still stuck on those...
2009-09-24unicorn_rails: show "RAILS_ENV" in help message
This matches the manpage and the rest of the documentation.
2009-09-22local.mk.sample: time and perms enforcement
2009-09-22configurator: fix user switch example in RDoc
We changed this in 97e469fc3afb751618b8b9a7b364cb447aaf90dd but never updated the example.
2009-09-19Add HACKING document
2009-09-18GNUmakefile: add missing .manifest dep on test installs
Now tests run after a clean checkout (as long as rack libraries are in $LOAD_PATH, probably via RUBYLIB).
2009-09-18README/gemspec: a better description, hopefully
2009-09-18.gitignore on *.rbc files Rubinius generates
2009-09-18http: don't force -fPIC if it can't be used
Not everybody can use it, even if most of the world can.
2009-09-18doc/LATEST: remove trailing newline
Make finger output as meaningful as possible to folks on slower connections and small terminals
2009-09-18build: smaller ChangeLog
No need to bloat our tarballs too much with information people are unlikely to ever read, NEWS is more user-oriented.
2009-09-18build: manifest dropped manpages
$(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.
2009-09-18build: hardcode the canonical git URL
I just distributed a tarball with my local FS path in the documentation :(
2009-09-18unicorn 0.92.0 v0.92.0
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.
2009-09-18NEWS.atom.xml only lists the first 10 entries
No need to waste bandwidth with more.
2009-09-18man1/unicorn_rails: fix unescaped underscore
2009-09-18man1/unicorn: split out RACK ENVIRONMENT section
The inline formatting for the CLI switch was too hard to get right and was too long anyways.
2009-09-18pandoc needs the standalone switch for manpages
Otherwise we end up with unreadable manpages.
2009-09-18NEWS.atom: file timestamp matches latest entry
Avoid needlessly wasting readers' bandwidth if they're caching.
2009-09-18doc: latest news is available through finger
We're expanding our target audience to folks that do not use HTTP (yet).
2009-09-18html: add Atom feeds
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!
2009-09-17Update TODO
2009-09-17doc: begin integration of HTML manpages into RDoc
Kinda sorta works, still some Markdown => HTML formatting issues to work out but it gives the site a reasonably consistent look.
2009-09-17GNUmakefile: package .tgz includes all generated files
Additionally, force ourselves to verify our working tree against $(VERSION) when doing releases because we don't want to screw that up.
2009-09-17Simplify and standardize manpages build/install
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.
2009-09-17Documentation: don't force --rsyncable flag with gzip(1)
It may not be portable to older versions of gzip