diff options
-rw-r--r-- | src/mod_mam_mnesia.erl | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/src/mod_mam_mnesia.erl b/src/mod_mam_mnesia.erl index 2463690fd..be14d0fff 100644 --- a/src/mod_mam_mnesia.erl +++ b/src/mod_mam_mnesia.erl @@ -138,12 +138,15 @@ select(_LServer, JidRequestor, SortedMsgs = lists:keysort(#archive_msg.timestamp, Msgs), {FilteredMsgs, IsComplete} = filter_by_rsm(SortedMsgs, RSM), Count = length(Msgs), - {lists:map( - fun(Msg) -> - {Msg#archive_msg.id, - jlib:binary_to_integer(Msg#archive_msg.id), - mod_mam:msg_to_el(Msg, MsgType, JidRequestor, JidArchive)} - end, FilteredMsgs), IsComplete, Count}. + Result = {lists:map( + fun(Msg) -> + {Msg#archive_msg.id, + jlib:binary_to_integer(Msg#archive_msg.id), + mod_mam:msg_to_el(Msg, MsgType, JidRequestor, + JidArchive)} + end, FilteredMsgs), IsComplete, Count}, + erlang:garbage_collect(), + Result. %%%=================================================================== %%% Internal functions |