emqx/apps/emqx_utils/src
Thales Macedo Garitezi 50e7d5d2ec fix(nolink_apply): avoid sending late replies to caller
Due to race conditions, it's possible that the caller to `pmap`/`nolink_apply` might
receive a late reply.

e.g. when a timeout occurred while resource manager was checking a resource's health:

```
19:18:23.084 [error] [data: ..., event_data: {#Reference<0.3247872820.3887857670.131018>, {:normal, [false, true, true, true, true, true]}}, event_type: :info, msg: :ignore_all_other_events, state: :connected]
```

Using an alias and also checking for the race condition in the `after` block (like
[`gen`](a76bf63197/lib/stdlib/src/gen.erl (L270-L277))
does), we avoid polluting the caller's mailbox with late replies.
2023-06-16 17:03:39 -03:00
..
emqx_placeholder.erl refactor(pluglib): provide SQL related utils in emqx_utils_sql 2023-06-09 14:44:37 +03:00
emqx_utils_api.erl chore(rebalance): rebase and review fixes 2023-05-09 20:51:24 +05:00
emqx_utils_binary.erl style: add original copyright header 2023-04-14 13:41:34 +02:00
emqx_utils_conv.erl refactor(pluglib): move conversion utils to emqx_utils_conv 2023-06-09 14:44:37 +03:00
emqx_utils_ets.erl refactor: rename emqx_tables to emqx_utils_ets 2023-04-14 13:41:33 +02:00
emqx_utils_fs.erl fix(tlsgc): make computing orphans safe against symlinking 2023-06-05 22:41:08 +03:00
emqx_utils_json.erl fix: byebye jsx 2023-04-14 13:41:34 +02:00
emqx_utils_maps.erl chore(util): drop obsolete stuff from emqx_utils_maps 2023-06-05 22:41:07 +03:00
emqx_utils_sql.erl refactor(pluglib): provide SQL related utils in emqx_utils_sql 2023-06-09 14:44:37 +03:00
emqx_utils.app.src chore: bump applications versions 2023-06-05 22:41:07 +03:00
emqx_utils.erl fix(nolink_apply): avoid sending late replies to caller 2023-06-16 17:03:39 -03:00