mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-06 13:29:56 -05:00
explicitly destory TLS data before destroying TLS
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1821 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
bf274cb617
commit
f0b9dce32e
1 changed files with 8 additions and 2 deletions
|
|
@ -70,8 +70,14 @@ void *pa_tls_set(pa_tls *t, void *userdata);
|
||||||
} \
|
} \
|
||||||
static void name##_tls_destructor(void) PA_GCC_DESTRUCTOR; \
|
static void name##_tls_destructor(void) PA_GCC_DESTRUCTOR; \
|
||||||
static void name##_tls_destructor(void) { \
|
static void name##_tls_destructor(void) { \
|
||||||
if (name##_tls.tls) \
|
if (!name##_tls.tls) \
|
||||||
pa_tls_free(name##_tls.tls); \
|
return; \
|
||||||
|
if (free_cb) { \
|
||||||
|
void *p; \
|
||||||
|
if ((p = pa_tls_get(name##_tls.tls))) \
|
||||||
|
free_cb(p); \
|
||||||
|
} \
|
||||||
|
pa_tls_free(name##_tls.tls); \
|
||||||
} \
|
} \
|
||||||
static inline void* name##_tls_get(void) { \
|
static inline void* name##_tls_get(void) { \
|
||||||
return pa_tls_get(name##_tls_obj()); \
|
return pa_tls_get(name##_tls_obj()); \
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue