Skip to content

Commit fa18c24

Browse files
committed
Detect whether input to swift function is async IO
1 parent 44a6d13 commit fa18c24

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

Sources/Subprocess/PipeConfiguration.swift

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -559,12 +559,9 @@ extension PipeConfiguration {
559559
let outputWriteEnd = outputWriteEnd.take()!
560560
let errorWriteEnd = errorWriteEnd.take()!
561561

562-
// FIXME figure out how to propagate a preferred buffer size to this sequence
563-
let inSequence = AsyncBufferSequence(diskIO: inputReadEnd.consumeIOChannel(), preferredBufferSize: nil)
564-
let outWriter = StandardInputWriter(diskIO: outputWriteEnd)
565-
let errWriter = StandardInputWriter(diskIO: errorWriteEnd)
566-
562+
var inputAsyncIO = false
567563
if let inputWriteEnd = inputWriteEnd.take() {
564+
inputAsyncIO = true
568565
let writer = StandardInputWriter(diskIO: inputWriteEnd)
569566
group.addTask {
570567
try await self.input.write(with: writer)
@@ -573,6 +570,11 @@ extension PipeConfiguration {
573570
}
574571
}
575572

573+
// FIXME figure out how to propagate a preferred buffer size to this sequence
574+
let inSequence = AsyncBufferSequence(diskIO: inputReadEnd.consumeIOChannel(), preferredBufferSize: nil, isAsyncIO: inputAsyncIO)
575+
let outWriter = StandardInputWriter(diskIO: outputWriteEnd)
576+
let errWriter = StandardInputWriter(diskIO: errorWriteEnd)
577+
576578
group.addTask {
577579
do {
578580
let retVal = try await function(inSequence, outWriter, errWriter)

0 commit comments

Comments
 (0)