<div dir="ltr"><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jun 9, 2020 at 10:55 AM Tomas Hajny <<a href="mailto:XHajT03@hajny.biz">XHajT03@hajny.biz</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">Note that there is an (intended) difference between output to console <br>
and output to files (Do_IsDevice provides this differentiation in <br>
standard RTL). Output to console is supposed to be flushed after every <br>
Write(Ln) statement, because it should provide immediate feedback to the <br>
user. </blockquote><div><br></div><div>This already works well enough, the normal use case doesn't require a low level flush.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">[...]<br>
<br>
Finally, note that TP-compatible part of the standard RTL does _not_ <br>
call the ("low-level") flush call of the underlying operating system. <br>
Such calls exist in API for most platforms (DOS: int 21h, AH=68h; OS/2: <br>
DosResetBuffer; Unix: (fp)fsync; WinXX: FlushFileBuffers), but they are <br>
not used within our RTL implementation as far as I know (flushing is <br>
always performed automatically when closing a file, but the operating <br>
systems take care of that).<br></blockquote><div><br></div>Indeed, the functionality implemented in the RTL is about managing the RTL buffers and leaving the downstream work in the hands of the OS (or whatever custom function is hooked to InOutFunc).  I cannot see a simple way to re-use one of the fields in TextRec to provide what would amount to new functionality, this leaves the option of adding another field to TextRec for a low level flush.  This is however not moving in the appropriate direction, since this would lead to higher memory consumption on lower end targets.  Perhaps a separate platform specific low level flush is the best compromise for the few use cases requiring low level control.<br></div></div>