Residual coding

This commit is contained in:
Ali
2022-07-29 18:32:51 +02:00
parent 64076541cd
commit f6ad7dc77a
35 changed files with 2784 additions and 498 deletions

View File

@@ -16,4 +16,19 @@ public final class Lock {
f()
pthread_mutex_unlock(&self.mutex)
}
public func throwingLocked(_ f: () throws -> Void) throws {
var error: Error?
pthread_mutex_lock(&self.mutex)
do {
try f()
} catch let e {
error = e
}
pthread_mutex_unlock(&self.mutex)
if let error = error {
throw(error)
}
}
}