util: only consider regular files as logs
authorEric Wong <normalperson@yhbt.net>
Tue, 2 Oct 2012 04:18:02 +0000 (1 21:18 -0700)
committerEric Wong <normalperson@yhbt.net>
Tue, 2 Oct 2012 04:18:02 +0000 (1 21:18 -0700)
If a user specifies a non-regular file for stderr_path or
stdout_path, we should not attempt to reopen or chown
it.  This should also allow users to specify FIFOs as log
destinations.

lib/unicorn/util.rb

index cde2563..f84241c 100644 (file)
@@ -7,6 +7,7 @@ module Unicorn::Util
     append_flags = File::WRONLY | File::APPEND
 
     ! fp.closed? &&
+      fp.stat.file? &&
       fp.sync &&
       (fp.fcntl(Fcntl::F_GETFL) & append_flags) == append_flags
     rescue IOError, Errno::EBADF