aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2022-01-22 01:11:16 +0100
committerShauren <shauren.trinity@gmail.com>2022-01-22 01:11:16 +0100
commit6ce56e8137133f003fa42277d10c3ad03b8996e2 (patch)
treeec7da2e59d027e889bf8fb5064fa00b9839dfc9f
parentff778a7581b47458d257e867931de0f3b46589e4 (diff)
Core/DBLayer: Fixed false positive msvc analysis warning
-rw-r--r--src/server/database/Database/Transaction.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/server/database/Database/Transaction.cpp b/src/server/database/Database/Transaction.cpp
index 3dc0b6e01ec..0bcc905e59f 100644
--- a/src/server/database/Database/Transaction.cpp
+++ b/src/server/database/Database/Transaction.cpp
@@ -77,9 +77,13 @@ bool TransactionTask::Execute()
if (errorCode == ER_LOCK_DEADLOCK)
{
- std::ostringstream threadIdStream;
- threadIdStream << std::this_thread::get_id();
- std::string threadId = threadIdStream.str();
+ std::string threadId = []()
+ {
+ // wrapped in lambda to fix false positive analysis warning C26115
+ std::ostringstream threadIdStream;
+ threadIdStream << std::this_thread::get_id();
+ return threadIdStream.str();
+ }();
// Make sure only 1 async thread retries a transaction so they don't keep dead-locking each other
std::lock_guard<std::mutex> lock(_deadlockLock);
@@ -122,9 +126,13 @@ bool TransactionWithResultTask::Execute()
if (errorCode == ER_LOCK_DEADLOCK)
{
- std::ostringstream threadIdStream;
- threadIdStream << std::this_thread::get_id();
- std::string threadId = threadIdStream.str();
+ std::string threadId = []()
+ {
+ // wrapped in lambda to fix false positive analysis warning C26115
+ std::ostringstream threadIdStream;
+ threadIdStream << std::this_thread::get_id();
+ return threadIdStream.str();
+ }();
// Make sure only 1 async thread retries a transaction so they don't keep dead-locking each other
std::lock_guard<std::mutex> lock(_deadlockLock);