Skip to content

Instantly share code, notes, and snippets.

@EricRabil
EricRabil / DispatchQueue+Current.swift
Created April 27, 2022 16:29
Get current dispatch queue in Swift
extension DispatchQueue {
private static let dispatch_get_current_queue = dlsym(dlopen(nil, RTLD_GLOBAL), "dispatch_get_current_queue")
static var current: DispatchQueue {
dispatch_get_current_queue.map {
unsafeBitCast($0, to: (@convention(c) () -> Unmanaged<DispatchQueue>).self)().takeUnretainedValue()
} ?? .global(qos: .background)
}
}