Nicolas Pitre <nico@xxxxxxx> writes: > On Mon, 19 Nov 2007, Junio C Hamano wrote: > >> The standard error stream is not "fully buffered": >> >> http://www.opengroup.org/onlinepubs/000095399/functions/xsh_chap02_05.html#tag_02_05 >> >> Not "fully buffered" means either "unbuffered" or "line >> buffered". Because the progress display does not terminate its >> line, it means that the additional fflush(stderr) you added are >> needed if the stream is line buffered (still conforming). > > Maybe stdio on Linux considers \r as a line termination. Or totally unbufferred. Running strace on this: #include <stdio.h> int main(int ac, char **av) { fprintf(stderr, "foo"); fprintf(stderr, "bar"); return 0; } will tell you. I bet you will see two write(2) of 3 bytes each. > Flushing stderr should not hurt anyway. True, especially if the rate is limited, which it is. - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html