svn commit: r210407 - head/usr.sbin/newsyslog

Brian Somers brian at FreeBSD.org
Fri Jul 23 09:11:48 UTC 2010


Author: brian
Date: Fri Jul 23 09:11:47 2010
New Revision: 210407
URL: http://svn.freebsd.org/changeset/base/210407

Log:
  Add a -S switch to override the default syslog pid file.  This can be useful
  if syslogd's -P switch or a syslogd alternative is being used.
  
  MFC after:	3 weeks

Modified:
  head/usr.sbin/newsyslog/newsyslog.8
  head/usr.sbin/newsyslog/newsyslog.c
  head/usr.sbin/newsyslog/newsyslog.conf.5

Modified: head/usr.sbin/newsyslog/newsyslog.8
==============================================================================
--- head/usr.sbin/newsyslog/newsyslog.8	Fri Jul 23 09:01:12 2010	(r210406)
+++ head/usr.sbin/newsyslog/newsyslog.8	Fri Jul 23 09:11:47 2010	(r210407)
@@ -17,7 +17,7 @@
 .\" the suitability of this software for any purpose.  It is
 .\" provided "as is" without express or implied warranty.
 .\"
-.Dd January 19, 2010
+.Dd July 23, 2010
 .Dt NEWSYSLOG 8
 .Os
 .Sh NAME
@@ -27,6 +27,7 @@
 .Nm
 .Op Fl CFNPnrsv
 .Op Fl R Ar tagname
+.Op Fl S Ar pidfile
 .Op Fl a Ar directory
 .Op Fl d Ar directory
 .Op Fl f Ar config_file
@@ -246,6 +247,12 @@ Skipping the signal step will also mean 
 will return faster, since
 .Nm
 normally waits a few seconds after any signal that is sent.
+.It Fl S Ar pidfile
+Use
+.Ar pidfile
+as
+.Xr syslogd 8 Ns 's
+pidfile.
 .El
 .Pp
 If additional command line arguments are given,

Modified: head/usr.sbin/newsyslog/newsyslog.c
==============================================================================
--- head/usr.sbin/newsyslog/newsyslog.c	Fri Jul 23 09:01:12 2010	(r210406)
+++ head/usr.sbin/newsyslog/newsyslog.c	Fri Jul 23 09:11:47 2010	(r210407)
@@ -206,6 +206,8 @@ char daytime[DAYTIME_LEN];	/* The curren
 				 * used for rotation-tracking messages. */
 char hostname[MAXHOSTNAMELEN];	/* hostname */
 
+const char *path_syslogpid = _PATH_SYSLOGPID;
+
 static struct cflist *get_worklist(char **files);
 static void parse_file(FILE *cf, struct cflist *work_p, struct cflist *glob_p,
 		    struct conf_entry *defconf_p, struct ilist *inclist);
@@ -655,6 +657,9 @@ parse_args(int argc, char **argv)
 			rotatereq++;
 			requestor = strdup(optarg);
 			break;
+		case 'S':
+			path_syslogpid = optarg;
+			break;
 		case 'm':	/* Used by OpenBSD for "monitor mode" */
 		default:
 			usage();
@@ -747,7 +752,7 @@ usage(void)
 
 	fprintf(stderr,
 	    "usage: newsyslog [-CFNnrsv] [-a directory] [-d directory] [-f config-file]\n"
-	    "                 [-t timefmt ] [ [-R requestor] filename ... ]\n");
+	    "                 [-S pidfile] [-t timefmt ] [ [-R requestor] filename ... ]\n");
 	exit(1);
 }
 
@@ -1355,7 +1360,7 @@ no_trimat:
 				working->flags &= ~CE_SIGNALGROUP;
 			}
 			if (needroot)
-				working->pid_file = strdup(_PATH_SYSLOGPID);
+				working->pid_file = strdup(path_syslogpid);
 		}
 
 		/*

Modified: head/usr.sbin/newsyslog/newsyslog.conf.5
==============================================================================
--- head/usr.sbin/newsyslog/newsyslog.conf.5	Fri Jul 23 09:01:12 2010	(r210406)
+++ head/usr.sbin/newsyslog/newsyslog.conf.5	Fri Jul 23 09:11:47 2010	(r210407)
@@ -21,7 +21,7 @@
 .\" the suitability of this software for any purpose.  It is
 .\" provided "as is" without express or implied warranty.
 .\"
-.Dd November 27, 2006
+.Dd July 23, 2010
 .Dt NEWSYSLOG.CONF 5
 .Os
 .Sh NAME
@@ -320,14 +320,17 @@ process ID or to find a group process ID
 flag was specified.
 If this field is present, a
 .Ar signal_number
-is sent the process ID contained in this file.
-If this field is not present, then a
+is sent to the process ID contained in this file.
+If this field is not present and the
+.Cm N
+flag has not been specified, then a
 .Dv SIGHUP
 signal will be sent to
-.Xr syslogd 8 ,
-unless the
-.Cm N
-flag has been specified.
+.Xr syslogd 8
+or to the process id found in the file specified by
+.Xr newsyslog 8 Ns 's
+.Fl S
+switch.
 This field must start with
 .Ql /
 in order to be recognized properly.


More information about the svn-src-all mailing list