File sysklogd-1.4.1-large.patch of Package syslogd
--- Makefile
+++ Makefile 2003-05-20 13:15:53.000000000 +0000
@@ -29,7 +29,7 @@ MANDIR = /usr/man
# The following define determines whether the package adheres to the
# file system standard.
-FSSTND = -DFSSTND
+FSSTND = -DFSSTND -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
# The following define establishes ownership for the man pages.
# Avery tells me that there is a difference between Debian and
--- syslogd.c
+++ syslogd.c 2003-05-20 13:12:35.000000000 +0000
@@ -1030,6 +1030,7 @@ int main(argc, argv)
(void) signal(SIGCHLD, reapchild);
(void) signal(SIGALRM, domark);
(void) signal(SIGUSR1, Debug ? debug_switch : SIG_IGN);
+ (void) signal(SIGXFSZ, SIG_IGN);
(void) alarm(TIMERINTVL);
/* Create a partial message table for all file descriptors. */
@@ -2023,7 +2024,7 @@ void fprintlog(f, from, flags, msg)
errno = e;
logerror(f->f_un.f_fname);
}
- } else if (f->f_flags & SYNC_FILE)
+ } else if (f->f_type == F_FILE && (f->f_flags & SYNC_FILE))
(void) fsync(f->f_file);
break;