Fixed issue: NETTY-265 NIO datagram transport should not close the channel on write failure

This commit is contained in:
Trustin Lee 2009-12-22 04:38:34 +00:00
parent 974a18568a
commit c7e2562f1c

View File

@ -485,7 +485,7 @@ class NioDatagramWorker implements Runnable {
private static void writeNow(final NioDatagramChannel channel, private static void writeNow(final NioDatagramChannel channel,
final int writeSpinCount) { final int writeSpinCount) {
boolean open = true;
boolean addOpWrite = false; boolean addOpWrite = false;
boolean removeOpWrite = false; boolean removeOpWrite = false;
@ -556,10 +556,6 @@ class NioDatagramWorker implements Runnable {
evt.getFuture().setFailure(t); evt.getFuture().setFailure(t);
evt = null; evt = null;
fireExceptionCaught(channel, t); fireExceptionCaught(channel, t);
if (t instanceof IOException) {
open = false;
close(channel, succeededFuture(channel));
}
} }
} }
channel.inWriteNowLoop = false; channel.inWriteNowLoop = false;
@ -567,12 +563,10 @@ class NioDatagramWorker implements Runnable {
fireWriteComplete(channel, writtenBytes); fireWriteComplete(channel, writtenBytes);
if (open) { if (addOpWrite) {
if (addOpWrite) { setOpWrite(channel);
setOpWrite(channel); } else if (removeOpWrite) {
} else if (removeOpWrite) { clearOpWrite(channel);
clearOpWrite(channel);
}
} }
} }