Fix dequeue error
This commit is contained in:
parent
c1f8d7de2f
commit
d409e25e76
|
@ -1033,12 +1033,16 @@ drain_q(Cnt, Msgs, Q) ->
|
||||||
case emqx_message:is_expired(Msg) of
|
case emqx_message:is_expired(Msg) of
|
||||||
true ->
|
true ->
|
||||||
ok = emqx_metrics:inc('messages.expired'),
|
ok = emqx_metrics:inc('messages.expired'),
|
||||||
drain_q(Cnt-1, Msgs, Q1);
|
drain_q(Cnt, Msgs, Q1);
|
||||||
false ->
|
false ->
|
||||||
drain_q(Cnt-1, [Msg|Msgs], Q1)
|
drain_q(acc_cnt(Msg, Cnt), [Msg|Msgs], Q1)
|
||||||
end
|
end
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
-compile({inline, [acc_cnt/2]}).
|
||||||
|
acc_cnt(#message{qos = ?QOS_0}, Cnt) -> Cnt;
|
||||||
|
acc_cnt(_Msg, Cnt) -> Cnt - 1.
|
||||||
|
|
||||||
%%------------------------------------------------------------------------------
|
%%------------------------------------------------------------------------------
|
||||||
%% Ensure timers
|
%% Ensure timers
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue