I cannot follow. Pervasives.stderr is unbuffered; however (see pervasives.ml): let print_endline s = output_string stdout s; output_char stdout '\n'; flush stdout let print_newline () = output_char stdout '\n'; flush stdout let prerr_endline s = output_string stderr s; output_char stderr '\n'; flush stderr let prerr_newline () = output_char stderr '\n'; flush stderr So far I know these are the only functions doing an implicit flush, and they are doing it for both stdout and stderr. Gerd Am Montag, den 24.08.2015, 14:19 +0200 schrieb Sébastien Hinderer: > Hi, > > Oliver Bandel (2015/08/23 02:19 +0200): > > Hello, > > > > stderr on Unix is unbuffered by default. > > > > In OCaml, all the Channels from Pervasives are buffered by default, > > and flush-function must be used. > > This issue is annoying me since ages... > > [...] > > I'd also prefer an unbuffered stderr, finding it more intuitive. > > Thanks for havign mentionned that, > Sébastien. > -- ------------------------------------------------------------ Gerd Stolpmann, Darmstadt, Germany gerd@gerd-stolpmann.de My OCaml site: http://www.camlcity.org Contact details: http://www.camlcity.org/contact.html Company homepage: http://www.gerd-stolpmann.de ------------------------------------------------------------