Skip to content

Commit f962c37

Browse files
authored
Merge pull request #1325 from alblue/master
2 parents f0f02b9 + 8e5d2c9 commit f962c37

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

CoreFoundation/Base.subproj/CFPlatform.c

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -582,11 +582,16 @@ CF_PRIVATE void __CFFinalizeWindowsThreadData() {
582582
#endif
583583

584584
static pthread_key_t __CFTSDIndexKey;
585+
static pthread_once_t __CFTSDIndexKey_once = PTHREAD_ONCE_INIT;
585586

586-
CF_PRIVATE void __CFTSDInitialize() {
587+
CF_PRIVATE void __CFTSDInitializeOnce() {
587588
(void)pthread_key_create(&__CFTSDIndexKey, __CFTSDFinalize);
588589
}
589590

591+
CF_PRIVATE void __CFTSDInitialize() {
592+
(void)pthread_once(&__CFTSDIndexKey_once, __CFTSDInitializeOnce);
593+
}
594+
590595
static void __CFTSDSetSpecific(void *arg) {
591596
#if DEPLOYMENT_TARGET_MACOSX || DEPLOYMENT_TARGET_EMBEDDED || DEPLOYMENT_TARGET_EMBEDDED_MINI
592597
pthread_setspecific(__CFTSDIndexKey, arg);

0 commit comments

Comments
 (0)