Author: shawkins
Date: 2012-09-18 07:57:37 -0400 (Tue, 18 Sep 2012)
New Revision: 4455
Modified:
trunk/engine/src/main/java/org/teiid/common/buffer/FileStore.java
trunk/engine/src/test/java/org/teiid/common/buffer/impl/TestFileStorageManager.java
Log:
TEIID-2218 making sure that close can be called more than once
Modified: trunk/engine/src/main/java/org/teiid/common/buffer/FileStore.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/common/buffer/FileStore.java 2012-09-17 18:31:05
UTC (rev 4454)
+++ trunk/engine/src/main/java/org/teiid/common/buffer/FileStore.java 2012-09-18 11:57:37
UTC (rev 4455)
@@ -114,6 +114,9 @@
@Override
public void close() throws IOException {
+ if (closed) {
+ return;
+ }
flush();
closed = true;
if (bytesWritten) {
Modified:
trunk/engine/src/test/java/org/teiid/common/buffer/impl/TestFileStorageManager.java
===================================================================
---
trunk/engine/src/test/java/org/teiid/common/buffer/impl/TestFileStorageManager.java 2012-09-17
18:31:05 UTC (rev 4454)
+++
trunk/engine/src/test/java/org/teiid/common/buffer/impl/TestFileStorageManager.java 2012-09-18
11:57:37 UTC (rev 4455)
@@ -104,6 +104,15 @@
fsos.flush();
assertEquals(0, fsos.getCount());
}
+
+ @Test public void testClose() throws Exception {
+ FileStorageManager sm = getStorageManager(null, null);
+ FileStore store = sm.createFileStore("0");
+ FileStoreOutputStream fsos = store.createOutputStream(2);
+ fsos.write(new byte[100000]);
+ fsos.close();
+ fsos.close();
+ }
static Random r = new Random();
Show replies by date