diff options
Diffstat (limited to 'plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java')
-rw-r--r-- | plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java b/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java index 8a3e6d0058..df0ae7eb06 100644 --- a/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java +++ b/plugins/org.eclipse.net4j/src/org/eclipse/internal/net4j/buffer/Buffer.java @@ -465,12 +465,21 @@ public class Buffer implements InternalBuffer public void handleError(Throwable t) { - if (errorHandler != null) + try { - errorHandler.handleError(t); + if (errorHandler != null) + { + errorHandler.handleError(t); + } + else if (TRACER.isEnabled()) + { + TRACER.trace(t); + } + } + finally + { + release(); } - - release(); } private static void readChannel(SocketChannel socketChannel, ByteBuffer buffer) throws ClosedChannelException |