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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user