v4.8.1
tag5705e85d6f7628fd0e55ec8284bbc33cd78cda6d
object cce86f545998d16e4e5d4160aa6f1beed8a2df80
authorEric Wong <e@80x24.org>
Wed, 29 Jan 2014 08:48:42 +0000 (29 08:48 +0000)
unicorn 4.8.1

fix races/error handling in worker SIGQUIT handler

This protects us from two problems:

1) we (or our app) somehow called IO#close on one of the sockets
   we listen on without removing it from the readers array.
   We'll ignore IOErrors from IO#close and assume we wanted to
   close it.

2) our SIGQUIT handler is interrupted by itself.  This can happen as
   a fake signal from the master could be handled and a real signal
   from an outside user is sent to us (e.g. from unicorn-worker-killer)
   or if a user uses the killall(1) command.