From 942d0b69b1f59dfdbae9304e80cbb3bc3767c60d Mon Sep 17 00:00:00 2001 From: Shengliang Guan Date: Thu, 24 Feb 2022 13:20:52 +0800 Subject: [PATCH] osenv --- include/os/osEnv.h | 24 ++++++++++++------------ source/dnode/mgmt/daemon/src/dmnCfg.c | 2 +- source/dnode/mgmt/daemon/src/dmnLog.c | 5 ++--- source/dnode/mgmt/daemon/src/dmnMain.c | 2 ++ source/os/src/osEnv.c | 6 +++--- source/util/src/tlog.c | 1 + 6 files changed, 21 insertions(+), 19 deletions(-) diff --git a/include/os/osEnv.h b/include/os/osEnv.h index ca38ca19fb..63ccdb1a64 100644 --- a/include/os/osEnv.h +++ b/include/os/osEnv.h @@ -22,7 +22,7 @@ extern "C" { #endif -typedef struct SEnvVar { +typedef struct SOsEnv { char dataDir[PATH_MAX]; char logDir[PATH_MAX]; char tempDir[PATH_MAX]; @@ -34,20 +34,20 @@ typedef struct SEnvVar { char locale[TD_LOCALE_LEN]; char charset[TD_CHARSET_LEN]; int8_t daylight; -} SEnvVar; +} SOsEnv; extern char configDir[]; -void osInit(); -SEnvVar *osEnv(); -void osUpdate(); -bool osLogSpaceAvailable(); -char *osLogDir(); -char *osTempDir(); -char *osDataDir(); -char *osName(); -char *osTimezone(); -int8_t osDaylight(); +void osInit(); +SOsEnv *osEnv(); +void osUpdate(); +bool osLogSpaceAvailable(); +char *osLogDir(); +char *osTempDir(); +char *osDataDir(); +char *osName(); +char *osTimezone(); +int8_t osDaylight(); void osSetTimezone(const char*timezone); diff --git a/source/dnode/mgmt/daemon/src/dmnCfg.c b/source/dnode/mgmt/daemon/src/dmnCfg.c index 9215fb6699..5da3233b17 100644 --- a/source/dnode/mgmt/daemon/src/dmnCfg.c +++ b/source/dnode/mgmt/daemon/src/dmnCfg.c @@ -47,7 +47,7 @@ static int32_t dmnAddDirCfg(SConfig *pCfg) { } static int32_t dmnCheckDirCfg(SConfig *pCfg) { - SEnvVar *pEnv = osEnv(); + SOsEnv *pEnv = osEnv(); tstrncpy(pEnv->dataDir, cfgGetItem(pCfg, "dataDir")->str, PATH_MAX); tstrncpy(pEnv->tempDir, cfgGetItem(pCfg, "tempDir")->str, PATH_MAX); pEnv->dataSpace.reserved = cfgGetItem(pCfg, "minimalDataDirGB")->fval; diff --git a/source/dnode/mgmt/daemon/src/dmnLog.c b/source/dnode/mgmt/daemon/src/dmnLog.c index 809e27fbf8..5079cd907a 100644 --- a/source/dnode/mgmt/daemon/src/dmnLog.c +++ b/source/dnode/mgmt/daemon/src/dmnLog.c @@ -17,7 +17,7 @@ #include "dmnInt.h" int32_t dmnAddLogCfg(SConfig *pCfg) { - if (cfgAddDir(pCfg, "logDir", "/var/log/taos") != 0) return -1; + if (cfgAddDir(pCfg, "logDir", osLogDir()) != 0) return -1; if (cfgAddFloat(pCfg, "minimalLogDirGB", 1.0f, 0.001f, 10000000) != 0) return -1; if (cfgAddBool(pCfg, "asyncLog", 1) != 0) return -1; if (cfgAddInt32(pCfg, "numOfLogLines", 10000000, 1000, 2000000000) != 0) return -1; @@ -41,8 +41,7 @@ int32_t dmnAddLogCfg(SConfig *pCfg) { } int32_t dmnSetLogCfg(SConfig *pCfg) { - SEnvVar *pEnv = osEnv(); - + SOsEnv *pEnv = osEnv(); tstrncpy(pEnv->logDir, cfgGetItem(pCfg, "logDir")->str, PATH_MAX); pEnv->logSpace.reserved = cfgGetItem(pCfg, "minimalLogDirGB")->fval; tsAsyncLog = cfgGetItem(pCfg, "asyncLog")->bval; diff --git a/source/dnode/mgmt/daemon/src/dmnMain.c b/source/dnode/mgmt/daemon/src/dmnMain.c index 1f1d2d8d05..62f0db5fc5 100644 --- a/source/dnode/mgmt/daemon/src/dmnMain.c +++ b/source/dnode/mgmt/daemon/src/dmnMain.c @@ -97,6 +97,8 @@ int32_t dmnRunDnode(SConfig *pCfg) { } int main(int argc, char const *argv[]) { + osInit(); + if (dmnParseOption(argc, argv) != 0) { return -1; } diff --git a/source/os/src/osEnv.c b/source/os/src/osEnv.c index 1c85a6aac2..462f7044e0 100644 --- a/source/os/src/osEnv.c +++ b/source/os/src/osEnv.c @@ -16,10 +16,10 @@ #define _DEFAULT_SOURCE #include "osEnv.h" -SEnvVar env = {0}; -char configDir[PATH_MAX] = {0}; +SOsEnv env = {0}; +char configDir[PATH_MAX] = {0}; -SEnvVar *osEnv() { return &env; } +SOsEnv *osEnv() { return &env; } void osInitImp() { osGetSystemTimezone(env.timezone); diff --git a/source/util/src/tlog.c b/source/util/src/tlog.c index 9b01aea0e4..ed55ef91b0 100644 --- a/source/util/src/tlog.c +++ b/source/util/src/tlog.c @@ -118,6 +118,7 @@ static int32_t taosStartLog() { int32_t taosInitLog(const char *logName, int maxFiles) { if (tsLogInited) return 0; + osUpdate(); char fullName[PATH_MAX] = {0}; snprintf(fullName, PATH_MAX, "%s" TD_DIRSEP "%s", osLogDir(), logName);