<div dir="ltr"><div>Yes, for _microcom_ 2043855a4bd5 is sufficient for my use cases.</div><div><br></div><div>However I think _stty_ should also use TCSADRAIN/TCSANOW to not discard data. _stty_ flushing and discarding data is surprising to me, because none of the other stty implementations do this AFAIK (coreutils, freebsd ...). The <a href="https://pubs.opengroup.org/onlinepubs/9699919799/utilities/stty.html">https://pubs.opengroup.org/onlinepubs/9699919799/utilities/stty.html</a> says `stty` should "set of report" termios, it doesn't specify "how" the termios should be set, nor does it say pending data should/shouldn't be flushed.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, May 31, 2024 at 11:08 PM Rob Landley <<a href="mailto:rob@landley.net">rob@landley.net</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 5/20/24 23:43, Yi-Yo Chiang via Toybox wrote:<br>
> Don't flush the tty device input queue when setting device attribute.<br>
> <br>
> Rationale:<br>
>   * microcom: The tty device might already have a _good enough_ termios<br>
>     to read data from. Flushing the input queue just to set the terminal<br>
>     attribute would result in data loss in this case.<br>
>   * stty: This command doesn't read nor write data to the tty device, so<br>
>     flushing the input queue doesn't make sense here. The program<br>
>     actually talking to the tty should decide if it wants the tty<br>
>     flushed or not.<br>
>     Note: other implementations of stty also uses TCSANOW (bsd) or<br>
>     TCSADRAIN (coreutils), so I think this assumption is fine.<br>
<br>
Was commit 2043855a4bd5 sufficient or do you still have a use case that needs<br>
this? (Email dated the 20th containing a patch dated the 21st vs a git commit<br>
applied the 23rd...)<br>
<br>
Rob<br>
</blockquote></div></div>