Revision: 3545
http://archive-access.svn.sourceforge.net/archive-access/?rev=3545&view=rev
Author: bradtofel
Date: 2011-10-25 00:55:58 +0000 (Tue, 25 Oct 2011)
Log Message:
-----------
BUGFIX (unrecorded) Major issue where we were not closing filehandles on when exceptions occured during writing of responses..
Modified Paths:
--------------
trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/FileRegion.java
Modified: trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/FileRegion.java
===================================================================
--- trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/FileRegion.java 2011-10-25 00:55:07 UTC (rev 3544)
+++ trunk/archive-access/projects/wayback/wayback-core/src/main/java/org/archive/wayback/liveweb/FileRegion.java 2011-10-25 00:55:58 UTC (rev 3545)
@@ -51,16 +51,19 @@
int BUFF_SIZE = 4096;
byte buf[] = new byte[BUFF_SIZE];
RandomAccessFile raf = new RandomAccessFile(file, "r");
- raf.seek(start);
- while(left > 0) {
- int amtToRead = (int) Math.min(left, BUFF_SIZE);
- int amtRead = raf.read(buf, 0, amtToRead);
- if(amtRead < 0) {
- throw new IOException("Not enough to read! EOF before expected region end");
+ try {
+ raf.seek(start);
+ while(left > 0) {
+ int amtToRead = (int) Math.min(left, BUFF_SIZE);
+ int amtRead = raf.read(buf, 0, amtToRead);
+ if(amtRead < 0) {
+ throw new IOException("Not enough to read! EOF before expected region end");
+ }
+ o.write(buf,0,amtRead);
+ left -= amtRead;
}
- o.write(buf,0,amtRead);
- left -= amtRead;
+ } finally {
+ raf.close();
}
- raf.close();
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|