* Remove kernel line discipline driver code for clk and chu, deprecate
related LDISC_ flags, and remove associated ntpd code to decode the
timestamps, remove clktest line discipline test program.
+* Remove "signal_no_reset: signal 17 had flags 4000000" logging, as it
+ indicates no problem and is interpreted as an error. Previously some
+ bits had been ignored one-by-one, but Linux SA_RESTORER definition is
+ unavailable to user headers.
(4.2.7p142) 2011/03/21 Released by Harlan Stenn <stenn@ntp.org>
* [Bug 1844] ntpd 4.2.7p131 NetBSD, --gc-sections links bad executable.
* Fix "make distcheck" break in libevent/sample caused by typo.
#include <stdio.h>
#include <sys/types.h>
#include <signal.h>
-#ifdef HAVE_LINUX_SIGNAL_H
-#include <linux/signal.h> /* provides SA_RESTORER on Linux */
-#endif
#include "ntp_syslog.h"
#include "ntp_stdlib.h"
# else
# define Z_SA_RESTART 0
# endif
-# ifdef SA_SIGINFO
-# define Z_SA_SIGINFO SA_SIGINFO
-# else
-# define Z_SA_SIGINFO 0
-# endif
-# ifdef SA_NOCLDSTOP
-# define Z_SA_NOCLDSTOP SA_NOCLDSTOP
-# else
-# define Z_SA_NOCLDSTOP 0
-# endif
-# ifdef SA_RESTORER
-# define Z_SA_RESTORER SA_RESTORER
-# else
-# define Z_SA_RESTORER 0
-# endif
-
-# define IGNORED_SA_FLAGS (Z_SA_NOCLDSTOP | \
- Z_SA_RESTART | \
- Z_SA_RESTORER | \
- Z_SA_SIGINFO)
-
void
signal_no_reset(
struct sigaction vec;
struct sigaction ovec;
+ ZERO(vec);
vec.sa_handler = func;
sigemptyset(&vec.sa_mask);
- vec.sa_flags = 0;
/* Added for PPS clocks on Solaris 7 which get EINTR errors */
# ifdef SIGPOLL
if (SIGPOLL == sig)
perror("sigaction");
exit(1);
}
- if (ovec.sa_flags & ~IGNORED_SA_FLAGS)
- msyslog(LOG_DEBUG,
- "signal_no_reset: signal %d had flags %x",
- sig, ovec.sa_flags);
}
#elif HAVE_SIGVEC
[Can we drop root privileges?])
esac
-dnl libntp wants to use sigaction() flag SA_RESTORER (to ignore it) but
-dnl the public headers don't define it. On systems where's it's been
-dnl seen, it's declared in /usr/include/asm/signal.h which is included
-dnl by linux/signal.h
-dnl case "$host" in
-dnl *-*-linux*)
-dnl AC_CHECK_HEADERS([linux/signal.h])
-dnl esac
-dnl The above doesn't work due to "present but cannot be compiled" --
-dnl linux/signal.h is apparently a kernel header that conflicts with
-dnl user headers. We may need to grep the SA_RESTORER definition out.
-
case "$host" in
*-*-darwin*)
AC_SEARCH_LIBS([res_9_init], [resolv])