fix: possible race condition

This commit is contained in:
Hongze Cheng 2023-10-11 17:39:58 +08:00
parent 6982935df7
commit 38b036ff36
2 changed files with 8 additions and 13 deletions

View File

@ -793,12 +793,7 @@ int32_t tsdbCloseFS(STFileSystem **fs) {
return 0;
}
int64_t tsdbFSAllocEid(STFileSystem *fs) {
taosThreadRwlockRdlock(&fs->tsdb->rwLock);
int64_t cid = ++fs->neid;
taosThreadRwlockUnlock(&fs->tsdb->rwLock);
return cid;
}
int64_t tsdbFSAllocEid(STFileSystem *fs) { return atomic_add_fetch_64(&fs->neid, 1); }
int32_t tsdbFSEditBegin(STFileSystem *fs, const TFileOpArray *opArray, EFEditT etype) {
int32_t code = 0;

View File

@ -89,13 +89,13 @@ struct STFSBgTask {
/* Exposed Structs */
struct STFileSystem {
STsdb *tsdb;
tsem_t canEdit;
int32_t state;
int64_t neid;
EFEditT etype;
TFileSetArray fSetArr[1];
TFileSetArray fSetArrTmp[1];
STsdb *tsdb;
tsem_t canEdit;
int32_t state;
volatile int64_t neid;
EFEditT etype;
TFileSetArray fSetArr[1];
TFileSetArray fSetArrTmp[1];
// background task queue
TdThreadMutex mutex[1];