< 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,10 +326,11 @@
             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,12 +362,12 @@
 
                 // 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());
+                    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 >