Skip to content

Commit aa2849b

Browse files
Use native TLS in all cases.
1 parent b9ab405 commit aa2849b

File tree

1 file changed

+4
-13
lines changed

1 file changed

+4
-13
lines changed

include/qt_macros.h

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
#ifndef QT_MACROS_H
22
#define QT_MACROS_H
33

4+
#include <threads.h>
5+
46
#ifdef HAVE_CONFIG_H
57
#include <config.h>
68
#endif
@@ -11,24 +13,13 @@
1113
#define Q_UNUSED(x) x
1214
#endif
1315

14-
#ifdef TLS
15-
#define TLS_DECL(type, name) TLS type name
16-
#define TLS_DECL_INIT(type, name) TLS type name = 0
16+
#define TLS_DECL(type, name) thread_local type name
17+
#define TLS_DECL_INIT(type, name) thread_local type name = 0
1718
#define TLS_GET(name) name
1819
#define TLS_SET(name, val) name = (val)
1920
#define TLS_INIT(name)
2021
#define TLS_INIT2(name, func)
2122
#define TLS_DELETE(name) name = 0
22-
#else
23-
#define TLS_DECL(type, name) pthread_key_t name
24-
#define TLS_DECL_INIT(type, name) pthread_key_t name
25-
#define TLS_GET(name) pthread_getspecific(name)
26-
#define TLS_SET(name, val) \
27-
qassert(pthread_setspecific((name), (void *)(val)), 0)
28-
#define TLS_INIT(name) qassert(pthread_key_create(&(name), NULL), 0)
29-
#define TLS_INIT2(name, func) qassert(pthread_key_create(&(name), (func)), 0)
30-
#define TLS_DELETE(name) qassert(pthread_key_delete(name), 0)
31-
#endif // ifdef TLS
3223

3324
#endif // ifndef QT_MACROS_H
3425
/* vim:set expandtab: */

0 commit comments

Comments
 (0)