]> source.dussan.org Git - jgit.git/commit
Fix missing flush in StreamCopyThread
authorDmitry Neverov <dmitry.neverov@gmail.com>
Wed, 30 Jun 2010 17:46:53 +0000 (10:46 -0700)
committerShawn O. Pearce <spearce@spearce.org>
Wed, 30 Jun 2010 17:48:44 +0000 (10:48 -0700)
commit44854741c573fa8d0743c0cc7dd73323245b4b5b
tree2dd9b3f59540d6046c0cb6bd88f8b928c5385964
parent9f2249bd26199f6b79b72bff8328e18a0935191b
Fix missing flush in StreamCopyThread

It is possible that StreamCopyThread will not flush everything
from it's src to it's dst.  In most cases StreamCopyThread works
like this:

  in loop:
    n = src.read(buf);
    dst.write(buf, 0, n);

and when we want to flush, we interrupt() StreamCopyThread and it
flushes everything it wrote to dst.

The problem is that our interrupt() could interrupt reading. In this
case we will flush everything we wrote to dst, but not everything
we wrote to src.

Change-Id: Ifaf4d8be87535c7364dd59b217dfc631460018ff
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
org.eclipse.jgit/src/org/eclipse/jgit/util/io/StreamCopyThread.java