about summary refs log tree commit homepage
path: root/lib/unicorn.rb
diff options
context:
space:
mode:
authorEric Wong <normalperson@yhbt.net>2009-11-14 15:53:17 -0800
committerEric Wong <normalperson@yhbt.net>2009-11-14 16:21:33 -0800
commit5663773f053a0cd9764e43b9f34b341f6df5853f (patch)
tree9e25aa4a06e8330fc2494d14c41eea794e93c7a0 /lib/unicorn.rb
parent07767ea2733ed5276ec638fa50102dccb0b2991e (diff)
downloadunicorn-5663773f053a0cd9764e43b9f34b341f6df5853f.tar.gz
This is only supported when SIGUSR1 is sent only to the master
process (which then resends SIGUSR1 to the workers).

Since we only added support for user/group switching in the
workers, we now chown any log files upon switching users so the
master can pick up and chown the log files later on.  Thus
we can avoid having to restart workers because they fail to
rotate log files on their own.
Diffstat (limited to 'lib/unicorn.rb')
-rw-r--r--lib/unicorn.rb1
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/unicorn.rb b/lib/unicorn.rb
index c6c311e..1511b03 100644
--- a/lib/unicorn.rb
+++ b/lib/unicorn.rb
@@ -142,6 +142,7 @@ module Unicorn
         # capabilities.  Let the caller handle any and all errors.
         uid = Etc.getpwnam(user).uid
         gid = Etc.getgrnam(group).gid if group
+        Unicorn::Util.chown_logs(uid, gid)
         tmp.chown(uid, gid)
         if gid && Process.egid != gid
           Process.initgroups(user, gid)