< prev index next >

src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java

Print this page
rev 12801 : [mq]: 8137121-ch-Infinite-loop-in-sun.nio.ch.FileChannelImpl.truncate

*** 326,335 **** --- 326,336 ---- throw new NonWritableChannelException(); synchronized (positionLock) { int rv = -1; long p = -1; int ti = -1; + long rl = -1; try { begin(); ti = threads.add(); if (!isOpen()) return null;
*** 361,372 **** // if position is beyond new size then adjust it if (p > newSize) p = newSize; do { ! rv = (int)position0(fd, p); ! } while ((rv == IOStatus.INTERRUPTED) && isOpen()); return this; } finally { threads.remove(ti); end(rv > -1); assert IOStatus.check(rv); --- 362,373 ---- // if position is beyond new size then adjust it if (p > newSize) p = newSize; do { ! rl = position0(fd, p); ! } while ((rl == IOStatus.INTERRUPTED) && isOpen()); return this; } finally { threads.remove(ti); end(rv > -1); assert IOStatus.check(rv);
< prev index next >