diff --git a/Sources/cctl/RunCommand.swift b/Sources/cctl/RunCommand.swift index 823898b3..01a9d256 100644 --- a/Sources/cctl/RunCommand.swift +++ b/Sources/cctl/RunCommand.swift @@ -84,7 +84,7 @@ extension Application { kernel: kernel, initPath: .init(filePath: initBlock) ) - let sigwinch = setupSigwinchHandler() + let sigwinchStream = AsyncSignalHandler.create(notify: [SIGWINCH]) let current = try Terminal.current try current.setraw() @@ -139,7 +139,7 @@ extension Application { try await withThrowingTaskGroup(of: Void.self) { group in group.addTask { - for await _ in sigwinch { + for await _ in sigwinchStream.signals { try await container.resize(to: try current.size) } } @@ -151,17 +151,6 @@ extension Application { } } - private func setupSigwinchHandler() -> AsyncStream { - let sigwinch = DispatchSource.makeSignalSource(signal: SIGWINCH) - let stream = AsyncStream { cont in - sigwinch.setEventHandler { - cont.yield() - } - } - sigwinch.resume() - return stream - } - private static let appRoot: URL = { FileManager.default.urls( for: .applicationSupportDirectory,