Skip to content
Snippets Groups Projects
Commit b3247ba5 authored by Dmitry Neverov's avatar Dmitry Neverov Committed by Shawn O. Pearce
Browse files

Fix race condition in StreamCopyThread


If we get an interrupt during an IO operation (src.read or dst.write)
caused by the flush() method incrementing the flush counter, ensure
we restart the proper section of code.  Just ignore the interrupt
and continue running.

Bug: 313082
Change-Id: Ib2b37901af8141289bbac9807cacf42b4e2461bd
Signed-off-by: default avatarShawn O. Pearce <spearce@spearce.org>
parent ae972e77
No related branches found
No related tags found
No related merge requests found
......@@ -100,10 +100,7 @@ public void run() {
try {
n = src.read(buf);
} catch (InterruptedIOException wakey) {
if (flushCounter.get() > 0)
continue;
else
throw wakey;
continue;
}
if (n < 0)
break;
......@@ -112,10 +109,7 @@ public void run() {
try {
dst.write(buf, 0, n);
} catch (InterruptedIOException wakey) {
if (flushCounter.get() > 0)
continue;
else
throw wakey;
continue;
}
break;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment