diff options
author | Jonathan Dierksen <jedierksen@gmail.com> | 2018-01-22 13:26:39 -0800 |
---|---|---|
committer | Thomas Van Lenten <thomasvl@google.com> | 2018-01-22 16:26:39 -0500 |
commit | a721bf6d294915b412e4ba6b5d92a9b84c6bfef9 (patch) | |
tree | e2650a8219b383a4e622df32a6294b3418a00594 /objectivec/google/protobuf/Struct.pbobjc.m | |
parent | 47b7d2c7cadf74ceec90fc5042232819cd0dd557 (diff) | |
download | protobuf-a721bf6d294915b412e4ba6b5d92a9b84c6bfef9.tar.gz protobuf-a721bf6d294915b412e4ba6b5d92a9b84c6bfef9.tar.bz2 protobuf-a721bf6d294915b412e4ba6b5d92a9b84c6bfef9.zip |
Migrate away from deprecated OSAtomic APIs. (#4184)
* Migrate away from deprecated OSAtomic APIs.
Diffstat (limited to 'objectivec/google/protobuf/Struct.pbobjc.m')
-rw-r--r-- | objectivec/google/protobuf/Struct.pbobjc.m | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/objectivec/google/protobuf/Struct.pbobjc.m b/objectivec/google/protobuf/Struct.pbobjc.m index f36ec582..dff2f844 100644 --- a/objectivec/google/protobuf/Struct.pbobjc.m +++ b/objectivec/google/protobuf/Struct.pbobjc.m @@ -51,7 +51,7 @@ static GPBFileDescriptor *GPBStructRoot_FileDescriptor(void) { #pragma mark - Enum GPBNullValue GPBEnumDescriptor *GPBNullValue_EnumDescriptor(void) { - static GPBEnumDescriptor *descriptor = NULL; + static _Atomic(GPBEnumDescriptor*) descriptor = NULL; if (!descriptor) { static const char *valueNames = "NullValue\000"; @@ -64,7 +64,8 @@ GPBEnumDescriptor *GPBNullValue_EnumDescriptor(void) { values:values count:(uint32_t)(sizeof(values) / sizeof(int32_t)) enumVerifier:GPBNullValue_IsValidValue]; - if (!OSAtomicCompareAndSwapPtrBarrier(nil, worker, (void * volatile *)&descriptor)) { + GPBEnumDescriptor *expected = nil; + if (!atomic_compare_exchange_strong(&descriptor, &expected, worker)) { [worker release]; } } |