Portable build framework for OpenNTPD
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

60 lines
1.5 KiB

10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
  1. From 0c286469c195738efc45001b1fcd4f8b4044a141 Mon Sep 17 00:00:00 2001
  2. From: Brent Cook <busterb@gmail.com>
  3. Date: Mon, 12 Jan 2015 06:18:31 -0600
  4. Subject: [PATCH 09/12] initialize setproctitle where needed
  5. We need to save a copy of argv and __progname to avoid setproctitle
  6. clobbering them.
  7. ---
  8. src/usr.sbin/ntpd/ntpd.c | 21 ++++++++++++++++++++-
  9. 1 file changed, 20 insertions(+), 1 deletion(-)
  10. diff --git a/src/usr.sbin/ntpd/ntpd.c b/src/usr.sbin/ntpd/ntpd.c
  11. index 40570ee..3d0ceb2 100644
  12. --- a/src/usr.sbin/ntpd/ntpd.c
  13. +++ b/src/usr.sbin/ntpd/ntpd.c
  14. @@ -116,6 +116,13 @@ usage(void)
  15. #define PFD_PIPE 0
  16. #define PFD_MAX 1
  17. +/* Saves a copy of argv for setproctitle emulation */
  18. +#ifndef HAVE_SETPROCTITLE
  19. +static char **saved_argv;
  20. +#endif
  21. +
  22. +char *get_progname(char *argv0);
  23. +
  24. int
  25. main(int argc, char *argv[])
  26. {
  27. @@ -145,6 +152,18 @@ main(int argc, char *argv[])
  28. log_init(1); /* log to stderr until daemonized */
  29. + __progname = get_progname(argv[0]);
  30. +
  31. +#ifndef HAVE_SETPROCTITLE
  32. + /* Prepare for later setproctitle emulation */
  33. + saved_argv = calloc(argc + 1, sizeof(*saved_argv));
  34. + for (i = 0; i < argc; i++)
  35. + saved_argv[i] = strdup(argv[i]);
  36. + saved_argv[i] = NULL;
  37. + compat_init_setproctitle(argc, argv);
  38. + argv = saved_argv;
  39. +#endif
  40. +
  41. while ((ch = getopt(argc, argv, "df:np:sSv")) != -1) {
  42. switch (ch) {
  43. case 'd':
  44. @@ -549,7 +568,7 @@ readfreq(void)
  45. freqfp = fopen(DRIFTFILE, "w");
  46. return;
  47. }
  48. -
  49. +
  50. freqfp = fdopen(fd, "r+");
  51. /* if we're adjusting frequency already, don't override */
  52. --
  53. 2.6.3