From: <bra...@us...> - 2011-10-25 00:56:05
|
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. |