[#1284] Fix bug which can cause in infinity-loop triggered by a handler removal

This commit is contained in:
Norman Maurer 2013-04-18 22:15:50 +02:00
parent 18dca2a8a4
commit 58bfd6bf3b

View File

@ -880,12 +880,12 @@ final class DefaultChannelHandlerContext extends DefaultAttributeMap implements
if (pipeline.isInboundShutdown()) {
return;
}
if (findContextInbound() == next) {
DefaultChannelHandlerContext nextInbound = findContextInbound();
if (nextInbound == next) {
next.invokeInboundBufferUpdated();
} else {
// Pipeline changed since the task was submitted; try again.
fireInboundBufferUpdated0(next);
fireInboundBufferUpdated0(nextInbound);
}
}
};