diff --git a/logd/main.cpp b/logd/main.cpp index 946485b80..18029ebdb 100644 --- a/logd/main.cpp +++ b/logd/main.cpp @@ -407,6 +407,11 @@ static int issueReinit() { // logging plugins like auditd and restart control. Additional // transitory per-client threads are created for each reader. int main(int argc, char* argv[]) { + // logd is written under the assumption that the timezone is UTC. + // If TZ is not set, persist.sys.timezone is looked up in some time utility + // libc functions, including mktime. It confuses the logd time handling, + // so here explicitly set TZ to UTC, which overrides the property. + setenv("TZ", "UTC", 1); // issue reinit command. KISS argument parsing. if ((argc > 1) && argv[1] && !strcmp(argv[1], "--reinit")) { return issueReinit();