diff --git a/src/erlocipool_worker.erl b/src/erlocipool_worker.erl index 7fc071d..8c0d5a2 100644 --- a/src/erlocipool_worker.erl +++ b/src/erlocipool_worker.erl @@ -186,7 +186,7 @@ handle_cast({kill, #session{ try true = demonitor(OciMon, [flush]), OciPort = {oci_port, PortPid}, - ok = OciPort:close() + OciPort:close() catch _:Reason -> ?DBG("handle_cast(kill)", "error ~p~n~p", @@ -218,7 +218,7 @@ handle_cast({check, {PortPid, OciSessnHandle, _OciStmtHandle}}, State) -> %?DBG("OciSession:ping()", "session ~p", % [{PortPid, OciSessnHandle}]), case catch OciSession:ping() of - ok -> ok; + pong -> ok; _Error -> kill(Self, PortPid, OciSessnHandle, State#state.sessions) @@ -230,10 +230,9 @@ handle_cast(_Request, State) -> handle_info({check_reduce, ToClose}, #state{sessions = - [#session{ssn = OciSession, - openStmts = 0} | Sessions]} = State) + [#session{openStmts = 0} = Session | Sessions]} = State) when ToClose > 0 -> - gen_server:cast(self(), {kill, OciSession}), + gen_server:cast(self(), {kill, Session}), self() ! {check_reduce, ToClose - 1}, {noreply, State#state{sessions = sort_sessions(Sessions)}}; handle_info({check_reduce, _}, State) -> diff --git a/test/erlocipool_test.erl b/test/erlocipool_test.erl index 556ad13..f82cf66 100644 --- a/test/erlocipool_test.erl +++ b/test/erlocipool_test.erl @@ -227,8 +227,6 @@ bad_conn_recover({Pool, _OciPort, OciSession, SessBefore}) -> ?assertMatch({error, _}, S:exec_stmt()), %% Pool replenished with new sessions ?assertMatch([#{closed_stmts := 0, open_stmts := 0}, - #{closed_stmts := 0, open_stmts := 0}, - #{closed_stmts := 0, open_stmts := 0}, #{closed_stmts := 0, open_stmts := 0}], Pool:get_stats()). %------------------------