diff options
author | Eric Wong <normalperson@yhbt.net> | 2010-07-13 08:57:37 +0000 |
---|---|---|
committer | Eric Wong <normalperson@yhbt.net> | 2010-07-13 08:57:37 +0000 |
commit | c13bec3449396b21795966101367838161612d61 (patch) | |
tree | d2c925ccc1057677bb05ed27f899a53a196f2590 /t/pid.ru | |
parent | 3f0f9d6d72cf17b34c130b86eb933bbc513b24b3 (diff) | |
download | unicorn-c13bec3449396b21795966101367838161612d61.tar.gz |
As described in our SIGNALS documentation, sending SIGHUP to the old master (to respawn SIGWINCH-ed children) while the new master (spawned from SIGUSR2) is active is useful for backing out of an upgrade before sending SIGQUIT to the new master. Unfortunately, the SIGHUP signal to the old master will cause the ".oldbin" pid file to be reset to the non-".oldbin" version and thus attempt to clobber the pid file in use by the to-be-terminated new master process. Thanks to the previous commit to prevent redaemonization in the new master, the old master can reliably detect if the new master is active while it is reloading the config file. Thanks to Lawrence Pit for discovering this bug. ref: http://mid.gmane.org/4C3BEACF.7040301@gmail.com
Diffstat (limited to 't/pid.ru')
-rw-r--r-- | t/pid.ru | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/t/pid.ru b/t/pid.ru new file mode 100644 index 0000000..f5fd31f --- /dev/null +++ b/t/pid.ru @@ -0,0 +1,3 @@ +use Rack::ContentLength +use Rack::ContentType, "text/plain" +run lambda { |env| [ 200, {}, [ "#$$\n" ] ] } |