Changeset: 8029d7368b5a for monetdb-java
URL: https://dev.monetdb.org/hg/monetdb-java/rev/8029d7368b5a
Modified Files:
src/main/java/org/monetdb/mcl/net/MapiSocket.java
Branch: onclient
Log Message:
Make sure the download stream isn't closed twice
diffs (37 lines):
diff --git a/src/main/java/org/monetdb/mcl/net/MapiSocket.java
b/src/main/java/org/monetdb/mcl/net/MapiSocket.java
--- a/src/main/java/org/monetdb/mcl/net/MapiSocket.java
+++ b/src/main/java/org/monetdb/mcl/net/MapiSocket.java
@@ -1366,6 +1366,7 @@ public class MapiSocket { /* cannot (yet
private final BlockInputStream.Raw rawIn;
private final OutputStream out;
private boolean endBlockSeen = false;
+ private boolean closed = false;
DownloadStream(BlockInputStream.Raw rawIn, OutputStream out) {
this.rawIn = rawIn;
@@ -1373,7 +1374,7 @@ public class MapiSocket { /* cannot (yet
}
void nextBlock() throws IOException {
- if (endBlockSeen)
+ if (endBlockSeen || closed)
return;
int ret = rawIn.readBlock();
if (ret < 0 || rawIn.wasEndBlock()) {
@@ -1383,13 +1384,15 @@ public class MapiSocket { /* cannot (yet
@Override
public void close() throws IOException {
+ if (closed)
+ return;
+ closed = true;
while (!endBlockSeen) {
nextBlock();
}
// Send acknowledgement to server
out.write('\n');
out.flush();
- // And await the acknowledgement of the acknowledgement
// Do whatever super has to do
super.close();
}
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list