• J
    daemon.c: avoid setlinebuf() · 48196afd
    Junio C Hamano 提交于
    This function is outside POSIX (Linux and recent BSD have it).  Replace it
    with setvbuf() which is POSIX.
    
    I am not sure about the value this patch passes as size argument to
    setvbuf(), though.  I know the call this patch makes is equivalent to
    calling setlinebuf() with GNU libc, but POSIX itself leaves what happens
    to the size argument quite vague, saying only "otherwise [i.e. when buf is
    a null pointer], size _may_ determine the size of a buffer allocated by
    the setvbuf() function."  If passing size=0 causes stdio to allocate very
    small buffer, and while stdio tries to line buffer the output, it might
    make it to fail to buffer an entire line, causing early flushing of the
    stream.
    
    Even if that turns out to be a problem on minorority platforms, we won't
    know it until the issue actually hurts them, so let's push this change out
    and see what happens.
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    48196afd
daemon.c 25.2 KB