On Thu, Jun 06, 2024 at 12:50:39AM +0200, Rubén Justo wrote: > On Tue, Jun 04, 2024 at 11:05:15AM +0100, Phillip Wood wrote: > > > Rather than adding a new flag to work around a bug in our script it might be > > better to try and fix the bug by using a loop that reads blocks of data from > > the source and writes them to the destination instead of calling copy. > > To be honest, I've tried. I haven't found a way to fix it properly. I think File::Copy() is not the culprit. The problem is more at the syscall level. Once test_terminal finishes writing all of the output to the tty, it closes its end of the descriptor. And now the tty is "gone", isatty() returns false, and further reads get EIO (even if we didn't read all of the bytes! They're lost). So I think the only thing we could do is _not_ actually close the descriptor. But now we don't have a way to signal EOF to the other side. Unless perhaps there is some clever way to do so. I'd still favor ripping it out. > I also thought about removing it. I agree with Peff, removing the stdin > redirection makes more sense. IMHO simplifies. > > But, perhaps we can happily live another almost-decade with this new > --no-stdin-pty, before finally removing the stdin redirection in this > helper. :-) Hopefully not a decade. ;) I just sent a series, and I think you could either build on top, or the merge resolution could just drop your new option. -Peff