mirror of
https://github.com/opencv/opencv.git
synced 2025-06-13 04:52:53 +08:00
core(tls): hide assertions from Thread Sanitizer
This commit is contained in:
parent
68ef903a7c
commit
d35422b523
@ -327,6 +327,17 @@ Cv64suf;
|
|||||||
# endif
|
# endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/****************************************************************************************\
|
||||||
|
* Thread sanitizer *
|
||||||
|
\****************************************************************************************/
|
||||||
|
#ifndef CV_THREAD_SANITIZER
|
||||||
|
# if defined(__has_feature)
|
||||||
|
# if __has_feature(thread_sanitizer)
|
||||||
|
# define CV_THREAD_SANITIZER
|
||||||
|
# endif
|
||||||
|
# endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/****************************************************************************************\
|
/****************************************************************************************\
|
||||||
* exchange-add operation for atomic operations on reference counters *
|
* exchange-add operation for atomic operations on reference counters *
|
||||||
\****************************************************************************************/
|
\****************************************************************************************/
|
||||||
|
@ -1396,7 +1396,9 @@ public:
|
|||||||
// Get data by TLS storage index
|
// Get data by TLS storage index
|
||||||
void* getData(size_t slotIdx) const
|
void* getData(size_t slotIdx) const
|
||||||
{
|
{
|
||||||
|
#ifndef CV_THREAD_SANITIZER
|
||||||
CV_Assert(tlsSlotsSize > slotIdx);
|
CV_Assert(tlsSlotsSize > slotIdx);
|
||||||
|
#endif
|
||||||
|
|
||||||
ThreadData* threadData = (ThreadData*)tls.GetData();
|
ThreadData* threadData = (ThreadData*)tls.GetData();
|
||||||
if(threadData && threadData->slots.size() > slotIdx)
|
if(threadData && threadData->slots.size() > slotIdx)
|
||||||
@ -1426,7 +1428,9 @@ public:
|
|||||||
// Set data to storage index
|
// Set data to storage index
|
||||||
void setData(size_t slotIdx, void* pData)
|
void setData(size_t slotIdx, void* pData)
|
||||||
{
|
{
|
||||||
|
#ifndef CV_THREAD_SANITIZER
|
||||||
CV_Assert(tlsSlotsSize > slotIdx);
|
CV_Assert(tlsSlotsSize > slotIdx);
|
||||||
|
#endif
|
||||||
|
|
||||||
ThreadData* threadData = (ThreadData*)tls.GetData();
|
ThreadData* threadData = (ThreadData*)tls.GetData();
|
||||||
if(!threadData)
|
if(!threadData)
|
||||||
|
Loading…
Reference in New Issue
Block a user