enh: crash thread

This commit is contained in:
factosea 2025-01-10 07:11:36 +08:00
parent bd9ec86061
commit 4b03091501
1 changed files with 5 additions and 0 deletions

View File

@ -1295,6 +1295,7 @@ typedef struct crashBasicInfo {
int signum; int signum;
void *sigInfo; void *sigInfo;
tsem_t sem; tsem_t sem;
int64_t reportThread;
} crashBasicInfo; } crashBasicInfo;
crashBasicInfo gCrashBasicInfo = {0}; crashBasicInfo gCrashBasicInfo = {0};
@ -1359,11 +1360,15 @@ int32_t initCrashLogWriter() {
uError("failed to init sem for crashLogWriter, code:%d", code); uError("failed to init sem for crashLogWriter, code:%d", code);
return code; return code;
} }
gCrashBasicInfo.reportThread = taosGetSelfPthreadId();
setCrashWriterStatus(CRASH_LOG_WRITER_INIT); setCrashWriterStatus(CRASH_LOG_WRITER_INIT);
return code; return code;
} }
void writeCrashLogToFile(int signum, void *sigInfo, char *nodeType, int64_t clusterId, int64_t startTime) { void writeCrashLogToFile(int signum, void *sigInfo, char *nodeType, int64_t clusterId, int64_t startTime) {
if (gCrashBasicInfo.reportThread == taosGetSelfPthreadId()) {
return;
}
if (setReportThreadWait()) { if (setReportThreadWait()) {
gCrashBasicInfo.clusterId = clusterId; gCrashBasicInfo.clusterId = clusterId;
gCrashBasicInfo.startTime = startTime; gCrashBasicInfo.startTime = startTime;