in swift-source/all/Nimbus/Operation+.swift [11:24]
func joinOrTimeout(timeout: TimeInterval) -> Bool {
if isFinished {
return !isCancelled
}
DispatchQueue.global().async {
Thread.sleep(forTimeInterval: timeout)
if !self.isFinished {
self.cancel()
}
}
waitUntilFinished()
return !isCancelled
}