From 54457b7093c9ae604fdb259a75f1c34b952763a6 Mon Sep 17 00:00:00 2001 From: Serge Tupchii Date: Thu, 18 Jan 2024 19:03:54 +0200 Subject: [PATCH] feat(emqx_utils): allow `infinity` timeout in `pmap/3` --- apps/emqx_utils/src/emqx_utils.erl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/apps/emqx_utils/src/emqx_utils.erl b/apps/emqx_utils/src/emqx_utils.erl index 8d7c622a4..046551e8d 100644 --- a/apps/emqx_utils/src/emqx_utils.erl +++ b/apps/emqx_utils/src/emqx_utils.erl @@ -431,7 +431,9 @@ pmap(Fun, List) when is_function(Fun, 1), is_list(List) -> -spec pmap(fun((A) -> B), list(A), timeout()) -> list(B). pmap(Fun, List, Timeout) when - is_function(Fun, 1), is_list(List), is_integer(Timeout), Timeout >= 0 + is_function(Fun, 1), + is_list(List), + (is_integer(Timeout) andalso Timeout >= 0 orelse Timeout =:= infinity) -> nolink_apply(fun() -> do_parallel_map(Fun, List) end, Timeout).