Module Name: src
Committed By: christos
Date: Tue Aug 28 11:11:18 UTC 2018
Modified Files:
src/external/bsd/ntp/dist: configure.ac
src/external/bsd/ntp/dist/libntp: work_fork.c
src/external/bsd/ntp/include: config.h
Log Message:
- use setproctitle if we have it
- emulate setproctitle better
To generate a diff of this commit:
cvs rdiff -u -r1.1.1.11 -r1.2 src/external/bsd/ntp/dist/configure.ac
cvs rdiff -u -r1.11 -r1.12 src/external/bsd/ntp/dist/libntp/work_fork.c
cvs rdiff -u -r1.21 -r1.22 src/external/bsd/ntp/include/config.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/external/bsd/ntp/dist/configure.ac
diff -u src/external/bsd/ntp/dist/configure.ac:1.1.1.11 src/external/bsd/ntp/dist/configure.ac:1.2
--- src/external/bsd/ntp/dist/configure.ac:1.1.1.11 Fri Apr 6 20:15:44 2018
+++ src/external/bsd/ntp/dist/configure.ac Tue Aug 28 07:11:18 2018
@@ -857,7 +857,7 @@ AC_CHECK_FUNCS(
)]
)
-AC_CHECK_FUNCS([fnmatch getbootfile getuid getrusage nanosleep strsignal])
+AC_CHECK_FUNCS([fnmatch getbootfile getuid getrusage nanosleep strsignal setproctitle])
# kvm_open() is only used by tickadj. Also see above.
case "$ac_cv_header_kvm_h" in
Index: src/external/bsd/ntp/dist/libntp/work_fork.c
diff -u src/external/bsd/ntp/dist/libntp/work_fork.c:1.11 src/external/bsd/ntp/dist/libntp/work_fork.c:1.12
--- src/external/bsd/ntp/dist/libntp/work_fork.c:1.11 Thu Apr 13 16:17:42 2017
+++ src/external/bsd/ntp/dist/libntp/work_fork.c Tue Aug 28 07:11:18 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: work_fork.c,v 1.11 2017/04/13 20:17:42 christos Exp $ */
+/* $NetBSD: work_fork.c,v 1.12 2018/08/28 11:11:18 christos Exp $ */
/*
* work_fork.c - fork implementation for blocking worker child.
@@ -432,6 +432,32 @@ fork_deferred_worker(void)
}
#endif
+#if HAVE_SETPROCTITLE == 0
+static void
+setproctitle(const char *fmt, ...)
+{
+ va_list ap;
+ char b1[128];
+ int argcc, argvlen, l;
+
+ if (saved_argc == 0)
+ return;
+
+ va_start(ap, fmt);
+ vsnprintf(b1, sizeof(b1), fmt, ap);
+ va_end(ap);
+
+ /* Clear argv */
+ for (argvlen = 0, argcc = 0; argcc < saved_argc; argcc++) {
+ l = strlen(saved_argv[argcc]);
+ argvlen += l + 1;
+ memset(saved_argv[argcc], 0, l);
+ }
+ l = snprintf(saved_argv[0], argvlen, "ntpd: %s", b1);
+ for (argcc = 1; argcc < saved_argc; argcc++)
+ saved_argv[argcc] = &saved_argv[0][l];
+}
+#endif
static void
fork_blocking_child(
@@ -543,17 +569,7 @@ fork_blocking_child(
* Change the process name of the child to avoid confusion
* about ntpd trunning twice.
*/
- if (saved_argc != 0) {
- int argcc;
- int argvlen = 0;
- /* Clear argv */
- for (argcc = 0; argcc < saved_argc; argcc++) {
- int l = strlen(saved_argv[argcc]);
- argvlen += l + 1;
- memset(saved_argv[argcc], 0, l);
- }
- strlcpy(saved_argv[0], "ntpd: asynchronous dns resolver", argvlen);
- }
+ setproctitle("asynchronous dns resolver");
/*
* In the child, close all files except stdin, stdout, stderr,
Index: src/external/bsd/ntp/include/config.h
diff -u src/external/bsd/ntp/include/config.h:1.21 src/external/bsd/ntp/include/config.h:1.22
--- src/external/bsd/ntp/include/config.h:1.21 Mon Apr 9 15:33:14 2018
+++ src/external/bsd/ntp/include/config.h Tue Aug 28 07:11:18 2018
@@ -330,6 +330,8 @@
/* Define to 1 if you have `alloca', as a function or macro. */
#define HAVE_ALLOCA 1
+#define HAVE_SETPROCTITLE 1
+
/* Define to 1 if you have <alloca.h> and it should be used (not on Ultrix).
*/
/* #undef HAVE_ALLOCA_H */