Files
MLXServer/MLXServer/Server/CancellationToken.swift

14 lines
325 B
Swift

import os
/// Thread-safe cancellation flag for cooperative stream shutdown.
final class CancellationToken: @unchecked Sendable {
private let lock = OSAllocatedUnfairLock(initialState: false)
var isCancelled: Bool {
lock.withLock { $0 }
}
func cancel() {
lock.withLock { $0 = true }
}
}