aboutsummaryrefslogtreecommitdiff
path: root/src/server/database/Database/Transaction.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/database/Database/Transaction.cpp')
-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 609ae0b9588..4f4767ece92 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);