about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2009-10-02 13:50:46 -0700
committerEric Wong <normalperson@yhbt.net>2009-10-02 13:50:46 -0700
commit76207a66002f088c24423f66f71fa38460e706fc (patch)
tree3b98258f0a81c62c4586123e29ca7b7dca82a6f4
parent0d41fa1cae20138d7215dd2ca18220c686539582 (diff)
The one minor bugfix is only for Rails 2.3.x+ users who set the
RAILS_RELATIVE_URL_ROOT environment variable in a config file.
Users of the "--path" switch or those who set the environment
variable in the shell were unaffected by this bug.  Note that we
still don't have relative URL root support for Rails < 2.3, and
are unlikely to bother with it unless there is visible demand
for it.

New features includes support for :tries and :delay when
specifying a "listen" in an after_fork hook.  This was inspired
by Chris Wanstrath's example of binding per-worker listen
sockets in a loop while migrating (or upgrading) Unicorn.
Setting a negative value for :tries means we'll retry the listen
indefinitely until the socket becomes available.

So you can do something like this in an after_fork hook:

    after_fork do |server, worker|
      addr = "127.0.0.1:#{9293 + worker.nr}"
      server.listen(addr, :tries => -1, :delay => 5)
    end

There's also the usual round of added documentation, packaging
fixes, code cleanups, small fixes and minor performance
improvements that are viewable in the "git log" output.

Eric Wong (54):
      build: hardcode the canonical git URL
      build: manifest dropped manpages
      build: smaller ChangeLog
      doc/LATEST: remove trailing newline
      http: don't force -fPIC if it can't be used
      .gitignore on *.rbc files Rubinius generates
      README/gemspec: a better description, hopefully
      GNUmakefile: add missing .manifest dep on test installs
      Add HACKING document
      configurator: fix user switch example in RDoc
      local.mk.sample: time and perms enforcement
      unicorn_rails: show "RAILS_ENV" in help message
      gemspec: compatibility with older Rubygems
      Split out KNOWN_ISSUES document
      KNOWN_ISSUES: add notes about the "isolate" gem
      gemspec: fix test_files regexp match
      gemspec: remove tests that fork from test_files
      test_signals: ensure we can parse pids in response
      GNUmakefile: cleanup test/manifest generation
      util: remove APPEND_FLAGS constant
      http_request: simplify and remove handle_body method
      http_response: simplify and remove const dependencies
      local.mk.sample: fix .js times
      TUNING: notes about benchmarking a high :backlog
      HttpServer#listen accepts :tries and :delay parameters
      "make install" avoids installing multiple .so objects
      Use Configurator#expand_addr in HttpServer#listen
      configurator: move initialization stuff to #initialize
      Remove "Z" constant for binary strings
      cgi_wrapper: don't warn about stdoutput usage
      cgi_wrapper: simplify status handling in response
      cgi_wrapper: use Array#concat instead of +=
      server: correctly unset reexec_pid on child death
      configurator: update and modernize examples
      configurator: add colons in front of listen() options
      configurator: remove DEFAULT_LOGGER constant
      gemspec: clarify commented-out licenses section
      Add makefile targets for non-release installs
      cleanup: use question mark op for 1-byte comparisons
      RDoc for Unicorn::HttpServer::Worker
      small cleanup to pid file handling + documentation
      rails: RAILS_RELATIVE_URL_ROOT may be set in Unicorn config
      unicorn_rails: undeprecate --path switch
      manpages: document environment variables
      README: remove reference to different versions
      Avoid a small window when a pid file can be empty
      configurator: update some migration examples
      configurator: listen :delay must be Numeric
      test: don't rely on .manifest for test install
      SIGNALS: state that we stole semantics from nginx
      const: DEFAULT_PORT as a string doesn't make sense
      test_helper: unused_port rejects 8080 unconditionally
      GNUmakefile: SINCE variable may be unset
      tests: GIT-VERSION-GEN is a test install dependency
-rwxr-xr-xGIT-VERSION-GEN2
-rw-r--r--GNUmakefile2
-rw-r--r--lib/unicorn/const.rb2
3 files changed, 3 insertions, 3 deletions
diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN
index 9160ae2..d8c4319 100755
--- a/GIT-VERSION-GEN
+++ b/GIT-VERSION-GEN
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 GVF=GIT-VERSION-FILE
-DEF_VER=v0.92.0.GIT
+DEF_VER=v0.93.0.GIT
 
 LF='
 '
diff --git a/GNUmakefile b/GNUmakefile
index 2e9b2ab..3ba3b5f 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -152,7 +152,7 @@ NEWS: GIT-VERSION-FILE
         $(rake) -s news_rdoc > $@+
         mv $@+ $@
 
-SINCE = 0.91.0
+SINCE = 0.92.0
 ChangeLog: log_range = $(shell test -n "$(SINCE)" && echo v$(SINCE)..)
 ChangeLog: GIT-VERSION-FILE
         @echo "ChangeLog from $(GIT_URL) ($(SINCE)..$(GIT_VERSION))" > $@+
diff --git a/lib/unicorn/const.rb b/lib/unicorn/const.rb
index e75effc..69ef6b2 100644
--- a/lib/unicorn/const.rb
+++ b/lib/unicorn/const.rb
@@ -7,7 +7,7 @@ module Unicorn
   # gave about a 3% to 10% performance improvement over using the strings directly.
   # Symbols did not really improve things much compared to constants.
   module Const
-    UNICORN_VERSION="0.92.0"
+    UNICORN_VERSION="0.93.0"
 
     DEFAULT_HOST = "0.0.0.0" # default TCP listen host address
     DEFAULT_PORT = 8080      # default TCP listen port