Documentation: add caveats about I/O buffering for check-{attr,ignore}
commitf1ed7fea7974218db15155f3b8d2e29d3fe0971c
authorAdam Spiers <git@adamspiers.org>
Thu, 11 Apr 2013 12:05:13 +0000 (11 13:05 +0100)
committerJunio C Hamano <gitster@pobox.com>
Thu, 11 Apr 2013 18:11:36 +0000 (11 11:11 -0700)
tree6e84f63ddd4fb3a927d2ef2cc2829c0d566ac7b8
parent0c8e8c080b08632d6dbee33d093b5df648196b49
Documentation: add caveats about I/O buffering for check-{attr,ignore}

check-attr and check-ignore have the potential to deadlock callers
which do not read back the output in real-time.  For example, if a
caller writes N paths out and then reads N lines back in, it risks
becoming blocked on write() to check-*, and check-* is blocked on
write back to the caller.  Somebody has to buffer; the pipe buffers
provide some leeway, but they are limited.

Thanks to Peff for pointing this out:

    http://article.gmane.org/gmane.comp.version-control.git/220534

Signed-off-by: Adam Spiers <git@adamspiers.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Documentation/git-check-attr.txt
Documentation/git-check-ignore.txt
Documentation/git.txt