From 9758a93331536ee2b08aa5658daf24b1f0ae1ea2 Mon Sep 17 00:00:00 2001 From: dapan1121 Date: Fri, 26 Nov 2021 08:48:06 +0800 Subject: [PATCH] [TD-11383]tmp file name conflict --- src/os/src/detail/osFile.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/os/src/detail/osFile.c b/src/os/src/detail/osFile.c index d47020cf21..76ed2196ce 100644 --- a/src/os/src/detail/osFile.c +++ b/src/os/src/detail/osFile.c @@ -28,6 +28,7 @@ void taosClose(FileFd fd) { void taosGetTmpfilePath(const char *fileNamePrefix, char *dstPath) { const char *tdengineTmpFileNamePrefix = "tdengine-"; char tmpPath[PATH_MAX]; + static uint64_t seqId = 0; int32_t len = (int32_t)strlen(tsTempDir); memcpy(tmpPath, tsTempDir, len); @@ -43,8 +44,10 @@ void taosGetTmpfilePath(const char *fileNamePrefix, char *dstPath) { strcat(tmpPath, "-%d-%s"); } - char os_rand[8] = {0}; - taosRandStr(os_rand, tListLen(os_rand) - 1); + char os_rand[32] = {0}; + + sprintf(os_rand, "%" PRIu64, atomic_add_fetch_64(&seqId, 1)); + snprintf(dstPath, PATH_MAX, tmpPath, getpid(), os_rand); } -- GitLab