From 5663773f053a0cd9764e43b9f34b341f6df5853f Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sat, 14 Nov 2009 15:53:17 -0800 Subject: preserve user/group ownership when reopening logs 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. --- lib/unicorn.rb | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/unicorn.rb') 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) -- cgit v1.2.3-24-ge0c7