Skip to content

Commit b433d31

Browse files
committed
fix for ping timout
1 parent 6ea275b commit b433d31

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

lib/tds/protocol.ex

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,18 @@ defmodule Tds.Protocol do
6161
@spec ping(any) :: {:ok, any} | {:disconnect, Exception.t, any}
6262
def ping(state) do
6363
case send_query(~s{SELECT 'pong' as [msg]}, state) do
64-
{:ok, _, s} -> {:ok, s}
65-
{:error, err, s} -> {:disconnect, err, s}
64+
{:ok, _, s} ->
65+
{:ok, s}
66+
{:disconnect, :closed, s} ->
67+
{:disconnect, %Tds.Error{message: "Connection closed."}, s}
68+
{:error, err, s} ->
69+
err = cond do
70+
Exception.exception?(err) -> err
71+
true -> %Tds.Error{message: inspect(err)}
72+
end
73+
{:disconnect, err, s}
74+
any ->
75+
any
6676
end
6777
end
6878

mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ defmodule Tds.Mixfile do
33

44
def project do
55
[ app: :tds,
6-
version: "1.0.6",
6+
version: "1.0.7",
77
elixir: "~> 1.0",
88
deps: deps(),
99
test_coverage: [tool: ExCoveralls],

0 commit comments

Comments
 (0)