Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Oct 1996 08:20:54 -0700 (PDT)
From:      Peter Wemm <peter>
To:        CVS-committers, cvs-all, cvs-usrsbin
Subject:   cvs commit:  src/usr.sbin/syslogd syslogd.c
Message-ID:  <199610051520.IAA21263@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

peter       96/10/05 08:20:53

  Modified:    usr.sbin/syslogd  syslogd.c
  Log:
  syslogd has always bugged me with it's async startup at boot time.
  For me, more often than not, the backgrounded syslogd daemon is not
  yet ready to process log messages before other things (such as named)
  want to log a heap of them.  It seems that it's the O_SYNC writes of
  the stuff coming in from /dev/klog that's the slowdown.
  
  Anyway, instead of using the libc daemon, roll a modified version.  This
  one has a timeout.  The child will wait for either the timeout to expire
  or the child process to signal it to let it know that it's "ready" and
  the /dev/log socket is set up and active, so it's safe to continue the
  boot.  It adds a small fraction of a second pause to the boot time, but on
  the other hand the overall boot time is *quicker* since the disk is not
  being thrashed while the log messages are getting written out synchronously
  one by one while other daemons are loading in parallel.
  
  The timeout is in case the child segfaults or something before becoming
  fully operational.
  
  Revision  Changes    Path
  1.10      +71 -6     src/usr.sbin/syslogd/syslogd.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199610051520.IAA21263>