From abfb4a22a7f719b645c9fd97444fbaba7c357c17 Mon Sep 17 00:00:00 2001 From: Kazuki Yamaguchi Date: Fri, 6 Nov 2015 10:13:03 +0900 Subject: connection: #close: return if already closed --- lib/plum/client.rb | 2 +- lib/plum/connection.rb | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'lib') diff --git a/lib/plum/client.rb b/lib/plum/client.rb index 3749482..81066d7 100644 --- a/lib/plum/client.rb +++ b/lib/plum/client.rb @@ -62,7 +62,7 @@ module Plum # Closes the connection. def close - @plum.close if @plum && @plum.state != :closed + @plum.close if @plum ensure @socket.close if @socket end diff --git a/lib/plum/connection.rb b/lib/plum/connection.rb index f365861..1d47360 100644 --- a/lib/plum/connection.rb +++ b/lib/plum/connection.rb @@ -38,6 +38,7 @@ module Plum # Emits :close event. Doesn't actually close socket. def close + return if @state == :closed @state = :closed # TODO: server MAY wait streams callback(:close) -- cgit v1.2.3