From 28c4c8795661051c0a557ecfa732da4dd4e09e1a Mon Sep 17 00:00:00 2001 From: Christophe Romain Date: Tue, 13 Jul 2010 21:54:46 +0200 Subject: [PATCH] Added catches to reset_stream calls to avoid errors during a race condition (thanks to Aleksey Shchepin) --- src/ejabberd_c2s.erl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index afd3dd6ad..3bb12dc4b 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -580,8 +580,8 @@ wait_for_feature_request({xmlstreamelement, El}, StateData) -> Mech, ClientIn) of {ok, Props} -> - (StateData#state.sockmod):reset_stream( - StateData#state.socket), + catch (StateData#state.sockmod):reset_stream( + StateData#state.socket), send_element(StateData, {xmlelement, "success", [{"xmlns", ?NS_SASL}], []}), @@ -716,8 +716,8 @@ wait_for_sasl_response({xmlstreamelement, El}, StateData) -> case cyrsasl:server_step(StateData#state.sasl_state, ClientIn) of {ok, Props} -> - (StateData#state.sockmod):reset_stream( - StateData#state.socket), + catch (StateData#state.sockmod):reset_stream( + StateData#state.socket), send_element(StateData, {xmlelement, "success", [{"xmlns", ?NS_SASL}], []}),