Author: mheath
Date: Wed Jan 9 21:00:22 2008
New Revision: 610673
URL: http://svn.apache.org/viewvc?rev=610673&view=rev
Log:
Fix for DIRMINA-503. Added catch for IOException that is being thrown because
of this bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5103988
Modified:
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioProcessor.java
Modified:
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioProcessor.java
URL:
http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioProcessor.java?rev=610673&r1=610672&r2=610673&view=diff
==============================================================================
---
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioProcessor.java
(original)
+++
mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioProcessor.java
Wed Jan 9 21:00:22 2008
@@ -173,8 +173,16 @@
@Override
protected int transferFile(NioSession session, FileRegion region, int
length) throws Exception {
- int writtenBytes = (int)
region.getFileChannel().transferTo(region.getPosition(), length,
session.getChannel());
- return writtenBytes;
+ try {
+ return (int)
region.getFileChannel().transferTo(region.getPosition(), length,
session.getChannel());
+ } catch (IOException e) {
+ // Check to see if the IOException is being thrown due to
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5103988
+ if (e.getMessage().contains("Resource temporarily unavailable")) {
+ return 0;
+ } else {
+ throw e;
+ }
+ }
}
protected static class IoSessionIterator implements Iterator<NioSession> {