Skip to content

Commit ccc6e7b

Browse files
authored
Merge pull request swiftlang#1790 from benlangmuir/create-fewer-keys
Only call pthread_key_create once in __CFTSDInitialize
2 parents 6b2c8cf + 281d78a commit ccc6e7b

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

CoreFoundation/Base.subproj/CFPlatform.c

+4-1
Original file line numberDiff line numberDiff line change
@@ -612,7 +612,10 @@ CF_PRIVATE void __CFFinalizeWindowsThreadData() {
612612
static pthread_key_t __CFTSDIndexKey;
613613

614614
CF_PRIVATE void __CFTSDInitialize() {
615-
(void)pthread_key_create(&__CFTSDIndexKey, __CFTSDFinalize);
615+
static dispatch_once_t once;
616+
dispatch_once(&once, ^{
617+
(void)pthread_key_create(&__CFTSDIndexKey, __CFTSDFinalize);
618+
});
616619
}
617620

618621
static void __CFTSDSetSpecific(void *arg) {

0 commit comments

Comments
 (0)