Thank you Michael and Jonas for your help and suggestions. I think I ended up merging your suggestions, which does work for my corner case. If anyone is interested this change can be viewed here: https://github.com/ccrause/freepascal/commit/b28ab72ed07f11677493d5d0e37ee451d2313323
I must admit that I was thoroughly confused by the apparent lack of semantic difference in use between InOutFunc and FlushFunc of TextRec structure. Best wishes, Christo On Mon, Jun 8, 2020 at 9:58 PM Jonas Maebe <jo...@freepascal.org> wrote: > On 07/06/2020 19:16, Christo Crause via fpc-devel wrote: > > I want to change the _haltproc for freertos ESP controllers to use > > normal write/writeln functionality to send information to standard > > output. On these targets the output is typically buffered serial > > provided by the OS. Text output written just prior to setting the cpu > > to sleep doesn't get sent, hence a flush is needed to complete data > > transmission before putting the cpu to sleep. Looking at > > consoleio.OpenIO there doesn't seem to be a convenient way to provide a > > flush helper function. Also the RTL Flush procedure calls InOutFunc and > > not FlushFunc. > > > > What is the proper way to hook a flush helper function into the existing > > RTL infrastructure? > > The flushfunc is called from fpc_write_end and fpc_writeln_end. Those > helpers are automatically called after all of the individual write > operations from a write(ln) statement have been processed. So if you > implement/assign flushfunc and make it call your OS flush function, it > should work fine. > > > Jonas > _______________________________________________ > fpc-devel maillist - fpc-devel@lists.freepascal.org > https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel >
_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel