From b90bce9fd0aa040e27f605e75b09f3e881e011b6 Mon Sep 17 00:00:00 2001 From: Manfred Karrer Date: Sun, 26 Nov 2017 11:33:06 -0500 Subject: [PATCH] BlockingClient: Do not close socket if it is already closed. Cherry-pick https://github.com/bisq-network/bitcoinj/commit/58de2b53435f9f15a828b77b17e3f9ddbad729d2 --- .../main/java/org/bitcoinj/net/BlockingClient.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/core/src/main/java/org/bitcoinj/net/BlockingClient.java b/core/src/main/java/org/bitcoinj/net/BlockingClient.java index a6762b269a2..fc0873e001f 100644 --- a/core/src/main/java/org/bitcoinj/net/BlockingClient.java +++ b/core/src/main/java/org/bitcoinj/net/BlockingClient.java @@ -145,11 +145,14 @@ public void closeConnection() { @Override public synchronized void writeBytes(byte[] message) throws IOException { try { - OutputStream stream = socket.getOutputStream(); - stream.write(message); - stream.flush(); + if(!socket.isClosed()) { + OutputStream stream = socket.getOutputStream(); + stream.write(message); + stream.flush(); + } } catch (IOException e) { - log.error("Error writing message to connection, closing connection", e); + if(!(e instanceof SocketException && e.toString().equals("Socket is closed"))) + log.error("Error writing message to connection, closing connection", e); closeConnection(); throw e; }