enh: crash thread
This commit is contained in:
parent
bd9ec86061
commit
4b03091501
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue