未验证 提交 ee344563 编写于 作者: S Shengliang Guan 提交者: GitHub

Merge pull request #16845 from taosdata/fix/ZhiqiangWang/TD-13064-mac-exit-error

os: mac exit error
......@@ -400,6 +400,9 @@ int tsem_init(tsem_t *psem, int flags, unsigned int count) {
}
int tsem_destroy(tsem_t *psem) {
if (psem == NULL || *psem == NULL) return -1;
dispatch_release(*psem);
*psem = NULL;
return 0;
}
......@@ -421,13 +424,7 @@ int tsem_timewait(tsem_t *psem, int64_t nanosecs) {
return 0;
}
bool taosCheckPthreadValid(TdThread thread) {
int32_t ret = taosThreadKill(thread, 0);
if (ret == ESRCH) return false;
if (ret == EINVAL) return false;
// alive
return true;
}
bool taosCheckPthreadValid(TdThread thread) { return thread != 0; }
int64_t taosGetSelfPthreadId() {
TdThread thread = taosThreadSelf();
......
......@@ -344,30 +344,27 @@ int32_t taosGetCpuInfo(char *cpuModel, int32_t maxLen, float *numOfCores) {
*numOfCores = si.dwNumberOfProcessors;
return 0;
#elif defined(_TD_DARWIN_64)
char *line = NULL;
size_t size = 0;
char buf[16];
int32_t done = 0;
int32_t code = -1;
TdFilePtr pFile = taosOpenFile("/proc/cpuinfo", TD_FILE_READ | TD_FILE_STREAM);
if (pFile == NULL) return false;
while (done != 3 && (size = taosGetLineFile(pFile, &line)) != -1) {
line[size - 1] = '\0';
if (((done & 1) == 0) && strncmp(line, "model name", 10) == 0) {
const char *v = strchr(line, ':') + 2;
tstrncpy(cpuModel, v, maxLen);
code = 0;
done |= 1;
} else if (((done & 2) == 0) && strncmp(line, "cpu cores", 9) == 0) {
const char *v = strchr(line, ':') + 2;
*numOfCores = atof(v);
done |= 2;
}
TdCmdPtr pCmd = taosOpenCmd("sysctl -n machdep.cpu.brand_string");
if (pCmd == NULL) return code;
if (taosGetsCmd(pCmd, maxLen, cpuModel) > 0) {
code = 0;
done |= 1;
}
taosCloseCmd(&pCmd);
if (line != NULL) taosMemoryFree(line);
taosCloseFile(&pFile);
pCmd = taosOpenCmd("sysctl -n machdep.cpu.core_count");
if (pCmd == NULL) return code;
memset(buf, 0, sizeof(buf));
if (taosGetsCmd(pCmd, maxLen, cpuModel) > 0) {
code = 0;
done |= 2;
*numOfCores = atof(buf);
}
taosCloseCmd(&pCmd);
return code;
#else
......
......@@ -231,7 +231,7 @@ class TDTestCase:
if platform.system().lower() == 'windows':
os.system('ps -a | grep taos | awk \'{print $2}\' | xargs kill -9')
else:
os.system('pkill taos')
os.system('pkill -9 taos')
def stop(self):
tdSql.close()
......
from datetime import datetime
from platform import platform
import time
from typing import List, Any, Tuple
......@@ -83,6 +84,8 @@ class TDTestCase:
def del_old_datadir(self, filename):
cmd = f"sed -i '/^dataDir/d' {filename}"
if platform.system().lower() == 'darwin':
cmd = f"sed -i '' '/^dataDir/d' {filename}"
if os.system(cmd) != 0:
tdLog.exit(cmd)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册