2019-11-14 01:14:35 +04:00

20 lines
377 B
Swift

import Foundation
public final class Lock {
private var mutex = pthread_mutex_t()
public init() {
pthread_mutex_init(&self.mutex, nil)
}
deinit {
pthread_mutex_destroy(&self.mutex)
}
public func locked(_ f: () -> ()) {
pthread_mutex_lock(&self.mutex)
f()
pthread_mutex_unlock(&self.mutex)
}
}