--- coreutils-5.93/src/tail.c.orig	2005-11-02 05:18:47.000000000 -0800
+++ coreutils-5.93/src/tail.c	2005-11-15 17:58:55.852102952 -0800
@@ -1020,7 +1020,8 @@
 	      int new_flags = old_flags | (blocking ? 0 : O_NONBLOCK);
 	      if (old_flags < 0
 		  || (new_flags != old_flags
-		      && fcntl (fd, F_SETFL, new_flags) == -1))
+		      && fcntl (fd, F_SETFL, new_flags) == -1
+		      && (!S_ISREG(f[i].mode) || errno != EPERM)))
 		error (EXIT_FAILURE, errno,
 		       _("%s: cannot change nonblocking mode"), name);
 	      f[i].blocking = blocking;


