1
0
mirror of https://github.com/opencv/opencv.git synced 2026-07-21 19:33:03 +04:00

added source comments to mark TSAN false positives. see: #27638

This commit is contained in:
kallaballa
2025-08-15 01:17:54 +02:00
parent 84dc1e93c5
commit 056e761bbc
+5
View File
@@ -3500,8 +3500,10 @@ struct Kernel::Impl
void addUMat(const UMat& m, bool dst)
{
// TSAN false positive: see #27638
CV_Assert(nu < MAX_ARRS && m.u && m.u->urefcount > 0);
u[nu] = m.u;
// TSAN false positive: see #27638
CV_XADD(&m.u->urefcount, 1);
nu++;
if(dst && m.u->tempUMat())
@@ -5670,6 +5672,7 @@ public:
if(!u)
return;
// Next two lines: TSAN false positive: see #27638
CV_Assert(u->urefcount == 0);
CV_Assert(u->refcount == 0 && "UMat deallocation error: some derived Mat is still alive");
@@ -6602,11 +6605,13 @@ public:
void flushCleanupQueue() const
{
// TSAN false positive: see #27638
if (!cleanupQueue.empty())
{
std::deque<UMatData*> q;
{
cv::AutoLock lock(cleanupQueueMutex);
// TSAN false positive: see #27638
q.swap(cleanupQueue);
}
for (std::deque<UMatData*>::const_iterator i = q.begin(); i != q.end(); ++i)