<feed xmlns='http://www.w3.org/2005/Atom'>
<title>unicorn.git</title>
<subtitle>Rack HTTP server for Unix and fast clients</subtitle>
<link rel='alternate' type='text/html' href='http://git.bogomips.org/cgit/unicorn.git/'/>
<entry>
<title>TUNING: more on socket buffer sizes</title>
<updated>2010-08-31T06:25:59Z</updated>
<author>
<name>Eric Wong</name>
<email>normalperson@yhbt.net</email>
</author>
<published>2010-08-31T06:25:59Z</published>
<link rel='alternate' type='text/html' href='http://git.bogomips.org/cgit/unicorn.git/commit/?id=f9a7a19a361fd674bab4e2df7e0897015528bba7'/>
<id>f9a7a19a361fd674bab4e2df7e0897015528bba7</id>
<content type='text'>
Large buffers can hurt as well as help.  And the difference
in real apps that do a lot of things other than I/O often
makes it not worth it.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Large buffers can hurt as well as help.  And the difference
in real apps that do a lot of things other than I/O often
makes it not worth it.
</pre>
</div>
</content>
</entry>
<entry>
<title>update Rails 3 tests to use Rails 3 final</title>
<updated>2010-08-30T08:11:44Z</updated>
<author>
<name>Eric Wong</name>
<email>normalperson@yhbt.net</email>
</author>
<published>2010-08-30T08:11:44Z</published>
<link rel='alternate' type='text/html' href='http://git.bogomips.org/cgit/unicorn.git/commit/?id=da272fc48ffaa808456fe94dd7a3e01bc9799832'/>
<id>da272fc48ffaa808456fe94dd7a3e01bc9799832</id>
<content type='text'>
Rails 3 is out, and requires no code changes on our end to work
(as far as our tests show :)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Rails 3 is out, and requires no code changes on our end to work
(as far as our tests show :)
</pre>
</div>
</content>
</entry>
<entry>
<title>remove nasty ugly hacks at startup</title>
<updated>2010-08-30T07:59:01Z</updated>
<author>
<name>Eric Wong</name>
<email>normalperson@yhbt.net</email>
</author>
<published>2010-08-30T07:59:01Z</published>
<link rel='alternate' type='text/html' href='http://git.bogomips.org/cgit/unicorn.git/commit/?id=0aaa0afa49a2953b7c26c1596a284621e23d5fc4'/>
<id>0aaa0afa49a2953b7c26c1596a284621e23d5fc4</id>
<content type='text'>
These nasty hacks were breaking Rubinius compatibility.
This can be further cleaned up, too.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These nasty hacks were breaking Rubinius compatibility.
This can be further cleaned up, too.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch '1.1.x-stable'</title>
<updated>2010-08-29T23:38:13Z</updated>
<author>
<name>Eric Wong</name>
<email>normalperson@yhbt.net</email>
</author>
<published>2010-08-29T23:38:13Z</published>
<link rel='alternate' type='text/html' href='http://git.bogomips.org/cgit/unicorn.git/commit/?id=f3e1653b900596e054297675becd01d9985ad482'/>
<id>f3e1653b900596e054297675becd01d9985ad482</id>
<content type='text'>
* 1.1.x-stable:
  unicorn 1.1.3 - small bug fixes
  make log reopens even more robust in threaded apps
  update Rails3 tests to use 3.0.0rc2
  make log reopens more robust in multithreaded apps
  bin/*: more consistent --help output
  SIGTTIN works after SIGWINCH
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* 1.1.x-stable:
  unicorn 1.1.3 - small bug fixes
  make log reopens even more robust in threaded apps
  update Rails3 tests to use 3.0.0rc2
  make log reopens more robust in multithreaded apps
  bin/*: more consistent --help output
  SIGTTIN works after SIGWINCH
</pre>
</div>
</content>
</entry>
<entry>
<title>unicorn 1.1.3 - small bug fixes</title>
<updated>2010-08-28T18:38:39Z</updated>
<author>
<name>Eric Wong</name>
<email>normalperson@yhbt.net</email>
</author>
<published>2010-08-28T18:38:39Z</published>
<link rel='alternate' type='text/html' href='http://git.bogomips.org/cgit/unicorn.git/commit/?id=d634b0699c8eceece5694680be0fc5e731717d92'/>
<id>d634b0699c8eceece5694680be0fc5e731717d92</id>
<content type='text'>
This release fixes race conditions during SIGUSR1 log cycling.
This bug mainly affects Rainbows! users serving static files,
but some Rack apps use threads internally even under Unicorn.

Other small fixes:
* SIGTTIN works as documented after SIGWINCH
* --help output from `unicorn` and `unicorn_rails` is more consistent
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This release fixes race conditions during SIGUSR1 log cycling.
This bug mainly affects Rainbows! users serving static files,
but some Rack apps use threads internally even under Unicorn.

Other small fixes:
* SIGTTIN works as documented after SIGWINCH
* --help output from `unicorn` and `unicorn_rails` is more consistent
</pre>
</div>
</content>
</entry>
<entry>
<title>make log reopens even more robust in threaded apps</title>
<updated>2010-08-28T18:52:48Z</updated>
<author>
<name>Eric Wong</name>
<email>normalperson@yhbt.net</email>
</author>
<published>2010-08-28T18:52:48Z</published>
<link rel='alternate' type='text/html' href='http://git.bogomips.org/cgit/unicorn.git/commit/?id=ca8ed32c8cc990c7e64b6bd7168808a83405a5a5'/>
<id>ca8ed32c8cc990c7e64b6bd7168808a83405a5a5</id>
<content type='text'>
A follow-up to 4b23693b9082a84433a9e6c1f358b58420176b27

If multithreaded programming can be compared to juggling
chainsaws, then multithreaded programming with signal handlers
in play is akin to juggling chainsaws on a tightrope
over shark-infested waters.
(cherry picked from commit feab35fe531843066db3418598874cf9f9419614)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A follow-up to 4b23693b9082a84433a9e6c1f358b58420176b27

If multithreaded programming can be compared to juggling
chainsaws, then multithreaded programming with signal handlers
in play is akin to juggling chainsaws on a tightrope
over shark-infested waters.
(cherry picked from commit feab35fe531843066db3418598874cf9f9419614)
</pre>
</div>
</content>
</entry>
<entry>
<title>make log reopens even more robust in threaded apps</title>
<updated>2010-08-28T18:52:48Z</updated>
<author>
<name>Eric Wong</name>
<email>normalperson@yhbt.net</email>
</author>
<published>2010-08-28T18:52:48Z</published>
<link rel='alternate' type='text/html' href='http://git.bogomips.org/cgit/unicorn.git/commit/?id=feab35fe531843066db3418598874cf9f9419614'/>
<id>feab35fe531843066db3418598874cf9f9419614</id>
<content type='text'>
A follow-up to 4b23693b9082a84433a9e6c1f358b58420176b27

If multithreaded programming can be compared to juggling
chainsaws, then multithreaded programming with signal handlers
in play is akin to juggling chainsaws on a tightrope
over shark-infested waters.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A follow-up to 4b23693b9082a84433a9e6c1f358b58420176b27

If multithreaded programming can be compared to juggling
chainsaws, then multithreaded programming with signal handlers
in play is akin to juggling chainsaws on a tightrope
over shark-infested waters.
</pre>
</div>
</content>
</entry>
<entry>
<title>update Rails3 tests to use 3.0.0rc2</title>
<updated>2010-08-28T07:07:14Z</updated>
<author>
<name>Eric Wong</name>
<email>normalperson@yhbt.net</email>
</author>
<published>2010-08-28T07:07:14Z</published>
<link rel='alternate' type='text/html' href='http://git.bogomips.org/cgit/unicorn.git/commit/?id=27f4d6ed7c7758620b54deccae319ba7aa9d40eb'/>
<id>27f4d6ed7c7758620b54deccae319ba7aa9d40eb</id>
<content type='text'>
No code changes needed, thankfully.
(cherry picked from commit 18968f6aff2fa5ba5a7e3e3d47c9cc05cd6c260d)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
No code changes needed, thankfully.
(cherry picked from commit 18968f6aff2fa5ba5a7e3e3d47c9cc05cd6c260d)
</pre>
</div>
</content>
</entry>
<entry>
<title>update Rails3 tests to use 3.0.0rc2</title>
<updated>2010-08-28T07:07:14Z</updated>
<author>
<name>Eric Wong</name>
<email>normalperson@yhbt.net</email>
</author>
<published>2010-08-28T07:07:14Z</published>
<link rel='alternate' type='text/html' href='http://git.bogomips.org/cgit/unicorn.git/commit/?id=18968f6aff2fa5ba5a7e3e3d47c9cc05cd6c260d'/>
<id>18968f6aff2fa5ba5a7e3e3d47c9cc05cd6c260d</id>
<content type='text'>
No code changes needed, thankfully.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
No code changes needed, thankfully.
</pre>
</div>
</content>
</entry>
<entry>
<title>make log reopens more robust in multithreaded apps</title>
<updated>2010-08-28T05:30:46Z</updated>
<author>
<name>Eric Wong</name>
<email>normalperson@yhbt.net</email>
</author>
<published>2010-08-28T05:30:46Z</published>
<link rel='alternate' type='text/html' href='http://git.bogomips.org/cgit/unicorn.git/commit/?id=7309e4b73e134ee7969cc8150b6ebaa6b8f8cb62'/>
<id>7309e4b73e134ee7969cc8150b6ebaa6b8f8cb62</id>
<content type='text'>
IOError may occur due to race conditions as another thread
may close the file immediately after we call File#closed?
to check.

Errno::EBADF may occur in some applications that close a file
descriptor without notifying Ruby (or if two IO objects refer to
the same descriptor, possibly one of them using IO#for_fd).
(cherry picked from commit 4b23693b9082a84433a9e6c1f358b58420176b27)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
IOError may occur due to race conditions as another thread
may close the file immediately after we call File#closed?
to check.

Errno::EBADF may occur in some applications that close a file
descriptor without notifying Ruby (or if two IO objects refer to
the same descriptor, possibly one of them using IO#for_fd).
(cherry picked from commit 4b23693b9082a84433a9e6c1f358b58420176b27)
</pre>
</div>
</content>
</entry>
</feed>
