[core] Make sure ThreadLocal will not own the pointer it is managing

ThreadLocal should not own the pointer it is managing because
the use case in Mapbox GL is to keep a pointer to a stack allocated
object, like:

```
MyObject foo;
threadLocal.set(&foo);
```

To keep consistency, it is required that we clear the managed
object before ThreadLocal gets destroyed by setting it to `nullptr`.
This commit is contained in:
Thiago Marcos P. Santos
2017-07-13 16:38:42 +03:00
parent 3b26177e9d
commit 48ddfef89f
4 changed files with 29 additions and 20 deletions

View File

@@ -76,11 +76,3 @@
fun:_ZN4mbgl4util10write_fileERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES8_
...
}
{
Qt5 ThreadStorage
Memcheck:Leak
match-leak-kinds: definite
fun:_Znwm
fun:_Z24qThreadStorage_localDataISt5arrayIPiLm1EEERT_R18QThreadStorageDataPS3_.isra.5
...
}