From: Evgeniy Khramtsov Date: Wed, 16 Jul 2014 06:33:34 +0000 (+0400) Subject: Fix returned types X-Git-Tag: 14.07~20 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=64205426bf651c3fb46587eb8eb5f6fd1c1ea64d;p=ejabberd Fix returned types --- diff --git a/src/mod_sip_registrar.erl b/src/mod_sip_registrar.erl index 9aeb058d6..298c7108b 100644 --- a/src/mod_sip_registrar.erl +++ b/src/mod_sip_registrar.erl @@ -539,7 +539,7 @@ delete_session(#sip_session{reg_tref = RegTRef, mnesia:dirty_delete_object(Session). process_ping(SIPSocket) -> - ErrResponse = if SIPSocket#sip_socket.type == udp -> error; + ErrResponse = if SIPSocket#sip_socket.type == udp -> pang; true -> drop end, Sessions = mnesia:dirty_index_read( @@ -552,8 +552,13 @@ process_ping(SIPSocket) -> mnesia:dirty_delete_object(Session), Timeout = get_flow_timeout(LServer, SIPSocket), NewTRef = set_timer(Session, Timeout), - mnesia:dirty_write( - Session#sip_session{flow_tref = NewTRef}); + case mnesia:dirty_write( + Session#sip_session{flow_tref = NewTRef}) of + ok -> + pong; + _Err -> + pang + end; (_, Acc) -> Acc end, ErrResponse, Sessions).