From 5d80ca8d40f7785b57f2b61a78852ca7e9887edf Mon Sep 17 00:00:00 2001 From: Aditya Ramani Date: Fri, 6 Jun 2025 12:08:47 -0700 Subject: [PATCH] Extend NSLock to accept a closure (#28) Signed-off-by: Aditya Ramani --- .../ContainerNetworkService/ReservedVmnetNetwork.swift | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Sources/Services/ContainerNetworkService/ReservedVmnetNetwork.swift b/Sources/Services/ContainerNetworkService/ReservedVmnetNetwork.swift index 2701cd40..bcce793c 100644 --- a/Sources/Services/ContainerNetworkService/ReservedVmnetNetwork.swift +++ b/Sources/Services/ContainerNetworkService/ReservedVmnetNetwork.swift @@ -149,4 +149,14 @@ public final class ReservedVmnetNetwork: Network { ) } } + +extension NSLock { + /// lock during the execution of the provided function + fileprivate func lock(_ fn: () throws -> T) rethrows -> T { + self.lock() + defer { self.unlock() } + + return try fn() + } +} #endif