syslogd: re-read the timezone when receive a SIGHUP.
syslogd already re-reads the configuration file and the hostname when receiving a SIGHUP, so it makes sense to reset the timezone. Special care was taken to ensure we don't break installations running with a custom TZ variable. PR: 196905 Submitted by: Kurt Lidl <lidl pix.net> Sponsored by: Pi-Coral, Inc.
This commit is contained in:
parent
e87161769c
commit
baa557331e
@ -1602,6 +1602,24 @@ init(int signo)
|
||||
LocalDomain = "";
|
||||
}
|
||||
|
||||
/*
|
||||
* Load / reload timezone data (in case it changed).
|
||||
*
|
||||
* Just calling tzset() again does not work, the timezone code
|
||||
* caches the result. However, by setting the TZ variable, one
|
||||
* can defeat the caching and have the timezone code really
|
||||
* reload the timezone data. Respect any initial setting of
|
||||
* TZ, in case the system is configured specially.
|
||||
*/
|
||||
dprintf("loading timezone data via tzset()\n");
|
||||
if (getenv("TZ")) {
|
||||
tzset();
|
||||
} else {
|
||||
setenv("TZ", ":/etc/localtime", 1);
|
||||
tzset();
|
||||
unsetenv("TZ");
|
||||
}
|
||||
|
||||
/*
|
||||
* Close all open log files.
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user