8028208: (aio) Assertion in clearPendingIoMap when closing at around time file lock is acquired immediately (win)
Reviewed-by: chegar
This commit is contained in:
parent
cd2f2cbb84
commit
f5d34bdef1
@ -228,6 +228,7 @@ public class WindowsAsynchronousFileChannelImpl
|
||||
@Override
|
||||
public void run() {
|
||||
long overlapped = 0L;
|
||||
boolean pending = false;
|
||||
try {
|
||||
begin();
|
||||
|
||||
@ -241,6 +242,7 @@ public class WindowsAsynchronousFileChannelImpl
|
||||
overlapped);
|
||||
if (n == IOStatus.UNAVAILABLE) {
|
||||
// I/O is pending
|
||||
pending = true;
|
||||
return;
|
||||
}
|
||||
// acquired lock immediately
|
||||
@ -250,10 +252,10 @@ public class WindowsAsynchronousFileChannelImpl
|
||||
} catch (Throwable x) {
|
||||
// lock failed or channel closed
|
||||
removeFromFileLockTable(fli);
|
||||
if (overlapped != 0L)
|
||||
ioCache.remove(overlapped);
|
||||
result.setFailure(toIOException(x));
|
||||
} finally {
|
||||
if (!pending && overlapped != 0L)
|
||||
ioCache.remove(overlapped);
|
||||
end();
|
||||
}
|
||||
|
||||
|
@ -204,9 +204,6 @@ java/net/DatagramSocket/SendDatagramToBadAddress.java macosx-all
|
||||
# 6963118
|
||||
java/nio/channels/Selector/Wakeup.java windows-all
|
||||
|
||||
# 7052549
|
||||
java/nio/channels/FileChannel/ReleaseOnCloseDeadlock.java windows-all
|
||||
|
||||
# 7133499, 7133497
|
||||
java/nio/channels/AsyncCloseAndInterrupt.java macosx-all
|
||||
java/nio/channels/AsynchronousFileChannel/Lock.java macosx-all
|
||||
|
Loading…
x
Reference in New Issue
Block a user