mirror of
https://github.com/GLEGram/GLEGram-iOS.git
synced 2026-05-01 23:35:13 +02:00
4647310322
Based on Swiftgram 12.5 (Telegram iOS 12.5). All GLEGram features ported and organized in GLEGram/ folder. Features: Ghost Mode, Saved Deleted Messages, Content Protection Bypass, Font Replacement, Fake Profile, Chat Export, Plugin System, and more. See CHANGELOG_12.5.md for full details.
39 lines
863 B
Swift
39 lines
863 B
Swift
//
|
|
// UnfairLock.swift
|
|
// SwiftSoup
|
|
//
|
|
// Created by xukun on 2022/3/31.
|
|
// Copyright © 2022 Nabil Chatbi. All rights reserved.
|
|
//
|
|
|
|
import Foundation
|
|
|
|
#if os(macOS) || os(iOS) || os(tvOS) || os(watchOS)
|
|
@available(iOS 10.0, macOS 10.12, watchOS 3.0, tvOS 10.0, *)
|
|
final class UnfairLock: NSLocking {
|
|
|
|
private let unfairLock: UnsafeMutablePointer<os_unfair_lock> = {
|
|
let pointer = UnsafeMutablePointer<os_unfair_lock>.allocate(capacity: 1)
|
|
pointer.initialize(to: os_unfair_lock())
|
|
return pointer
|
|
}()
|
|
|
|
deinit {
|
|
unfairLock.deinitialize(count: 1)
|
|
unfairLock.deallocate()
|
|
}
|
|
|
|
func lock() {
|
|
os_unfair_lock_lock(unfairLock)
|
|
}
|
|
|
|
func tryLock() -> Bool {
|
|
return os_unfair_lock_trylock(unfairLock)
|
|
}
|
|
|
|
func unlock() {
|
|
os_unfair_lock_unlock(unfairLock)
|
|
}
|
|
}
|
|
#endif
|