[Git][NTPsec/ntpsec][master] Changed signal indicator bools from globals to struct members.
Ian Bruene
gitlab at mg.gitlab.com
Mon May 14 13:59:49 UTC 2018
Ian Bruene pushed to branch master at NTPsec / ntpsec
Commits:
1acddc55 by Ian Bruene at 2018-05-13T15:57:30Z
Changed signal indicator bools from globals to struct members.
- - - - -
4 changed files:
- include/ntpd.h
- ntpd/ntp_io.c
- ntpd/ntp_timer.c
- ntpd/ntpd.c
Changes:
=====================================
include/ntpd.h
=====================================
--- a/include/ntpd.h
+++ b/include/ntpd.h
@@ -349,10 +349,14 @@ extern uint64_t sys_kodsent; /* KoD sent */
extern uptime_t use_stattime; /* time since usestats reset */
/* Signalling: Set by signal handlers */
-extern volatile bool sawALRM;
-extern volatile bool sawHUP;
-extern volatile bool sawDNS;
-extern volatile bool sawQuit; /* SIGQUIT, SIGINT, SIGTERM */
+struct signals_detected {
+ bool sawALRM;
+ bool sawHUP;
+ bool sawDNS;
+ bool sawQuit; /* SIGQUIT, SIGINT, SIGTERM */
+};
+extern volatile struct signals_detected sig_flags;
+
/* ntp_restrict.c */
extern restrict_u * restrictlist4; /* IPv4 restriction list */
=====================================
ntpd/ntp_io.c
=====================================
--- a/ntpd/ntp_io.c
+++ b/ntpd/ntp_io.c
@@ -278,14 +278,12 @@ static int read_refclock_packet (SOCKET, struct refclockio *, l_fp);
/*
* Flags from signal handlers
*/
-volatile bool sawALRM = false;
-volatile bool sawHUP = false;
-#ifdef ENABLE_DNS_LOOKUP
-volatile bool sawDNS = false;
-#else
-# define sawDNS false
-#endif
-volatile bool sawQuit = false; /* SIGQUIT, SIGINT, SIGTERM */
+volatile struct signals_detected sig_flags = {
+ .sawALRM = false,
+ .sawHUP = false,
+ .sawDNS = false,
+ .sawQuit = false /* SIGQUIT, SIGINT, SIGTERM */
+};
static sigset_t blockMask;
void
@@ -2412,7 +2410,8 @@ io_handler(void)
* reception of input.
*/
pthread_sigmask(SIG_BLOCK, &blockMask, &runMask);
- flag = sawALRM || sawQuit || sawHUP || sawDNS;
+ flag = sig_flags.sawALRM || sig_flags.sawQuit || sig_flags.sawHUP || \
+ sig_flags.sawDNS;
if (!flag) {
rdfdes = activefds;
nfound = pselect(maxactivefd+1, &rdfdes, NULL, NULL, NULL, &runMask);
=====================================
ntpd/ntp_timer.c
=====================================
--- a/ntpd/ntp_timer.c
+++ b/ntpd/ntp_timer.c
@@ -137,7 +137,7 @@ init_timer(void)
/*
* Initialize...
*/
- sawALRM = false;
+ sig_flags.sawALRM = false;
alarm_overflow = 0;
adjust_timer = 1;
stats_timer = SECSPERHR;
@@ -309,13 +309,13 @@ catchALRM(
# ifdef DEBUG
const char *msg = NULL;
# endif
- if (sawALRM) {
+ if (sig_flags.sawALRM) {
alarm_overflow++;
# ifdef DEBUG
msg = "catchALRM: overflow\n";
# endif
} else {
- sawALRM = true;
+ sig_flags.sawALRM = true;
# ifdef DEBUG
msg = "catchALRM: normal\n";
# endif
=====================================
ntpd/ntpd.c
=====================================
--- a/ntpd/ntpd.c
+++ b/ntpd/ntpd.c
@@ -918,28 +918,28 @@ static void mainloop(void)
init_timer();
for (;;) {
- if (sawQuit)
+ if (sig_flags.sawQuit)
finish_safe(signo);
- if (!sawALRM && !has_full_recv_buffer()) {
+ if (!sig_flags.sawALRM && !has_full_recv_buffer()) {
/*
* Nothing to do. Wait for something.
*/
io_handler();
}
- if (sawALRM) {
+ if (sig_flags.sawALRM) {
/*
* Out here, signals are unblocked. Call timer routine
* to process expiry.
*/
- sawALRM = false;
+ sig_flags.sawALRM = false;
timer();
}
#ifdef ENABLE_DNS_LOOKUP
- if (sawDNS) {
- sawDNS = false;
+ if (sig_flags.sawDNS) {
+ sig_flags.sawDNS = false;
dns_check();
}
#endif
@@ -956,10 +956,10 @@ static void mainloop(void)
rbuf = get_full_recv_buffer();
while (rbuf != NULL) {
- if (sawALRM) {
+ if (sig_flags.sawALRM) {
/* avoid timer starvation during lengthy I/O handling */
timer();
- sawALRM = false;
+ sig_flags.sawALRM = false;
}
/*
@@ -997,8 +997,8 @@ static void mainloop(void)
/*
* Check files
*/
- if (sawHUP) {
- sawHUP = false;
+ if (sig_flags.sawHUP) {
+ sig_flags.sawHUP = false;
msyslog(LOG_INFO, "LOG: Saw SIGHUP");
reopen_logfile();
@@ -1065,7 +1065,7 @@ catchQuit(
int sig
)
{
- sawQuit = true;
+ sig_flags.sawQuit = true;
signo = sig;
}
@@ -1075,7 +1075,7 @@ catchQuit(
static void catchHUP(int sig)
{
UNUSED_ARG(sig);
- sawHUP = true;
+ sig_flags.sawHUP = true;
}
#ifdef ENABLE_DNS_LOOKUP
@@ -1085,7 +1085,7 @@ static void catchHUP(int sig)
static void catchDNS(int sig)
{
UNUSED_ARG(sig);
- sawDNS = true;
+ sig_flags.sawDNS = true;
}
#endif
View it on GitLab: https://gitlab.com/NTPsec/ntpsec/commit/1acddc55a938784440184fea912db51f38963f15
--
View it on GitLab: https://gitlab.com/NTPsec/ntpsec/commit/1acddc55a938784440184fea912db51f38963f15
You're receiving this email because of your account on gitlab.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ntpsec.org/pipermail/vc/attachments/20180514/62f3d5d1/attachment.html>
More information about the vc
mailing list