Процесс (NSTask) fileHandleForReading readabilityHandler Закрытие не вызывается в Linux - PullRequest
0 голосов
/ 05 мая 2019

При компиляции следующего кода в macOS он запускается и выдает вывод.

import Foundation

let runloop = RunLoop.current

let process = Process()
process.launchPath = "/bin/echo"
process.arguments = ["hello world"]

let output = Pipe()
process.standardOutput = output

output.fileHandleForReading.readabilityHandler = { fileHandle in
    let data = fileHandle.availableData
    print("received data: \(data.count)")
    print(String(data: data, encoding: .utf8) ?? "")
}

print("starting")
process.launch()

while runloop.run(mode: .default, before: Date(timeIntervalSinceNow: 2)) { }

output:

received data: 12
hello world\n

Но когда я компилирую и запускаю это в образе док-станции Ubuntu Swift (Swift версии 5.0.1), закрытие readabilityHandler вообще не вызывается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...