diff --git a/src/darwin/Framework/CHIP/MTRDeviceController_XPC.mm b/src/darwin/Framework/CHIP/MTRDeviceController_XPC.mm index fcb6113a653d05..3000c06ef775f1 100644 --- a/src/darwin/Framework/CHIP/MTRDeviceController_XPC.mm +++ b/src/darwin/Framework/CHIP/MTRDeviceController_XPC.mm @@ -23,6 +23,7 @@ #import "MTRDevice_XPC_Internal.h" #import "MTRError_Internal.h" #import "MTRLogging_Internal.h" +#import "MTRUnfairLock.h" #import "MTRXPCClientProtocol.h" #import "MTRXPCServerProtocol.h" @@ -72,7 +73,7 @@ @implementation MTRDeviceController_XPC - (void)_updateRegistrationInfo { - os_unfair_lock_lock(self.deviceMapLock); + std::lock_guard lock(*self.deviceMapLock); NSMutableDictionary * registrationInfo = [NSMutableDictionary dictionary]; @@ -92,8 +93,6 @@ - (void)_updateRegistrationInfo MTR_REQUIRED_ATTRIBUTE(MTRDeviceControllerRegistrationControllerContextKey, controllerContext, registrationInfo) [self updateControllerConfiguration:registrationInfo]; - - os_unfair_lock_unlock(self.deviceMapLock); } - (void)_registerNodeID:(NSNumber *)nodeID