diff options
author | Lukas Larsson <lukas@erlang.org> | 2022-04-14 17:07:43 +0200 |
---|---|---|
committer | Lukas Larsson <lukas@erlang.org> | 2022-04-27 10:49:38 +0200 |
commit | c78a8e97538fe444575779336fca7701af330ff1 (patch) | |
tree | 385fa2b1b13933c7b991b903a9207ffed4b55e03 /erts/emulator/beam/erl_process.h | |
parent | 6d5a5f31c36bbdaad21585d25974177bd1b75e66 (diff) | |
download | erlang-c78a8e97538fe444575779336fca7701af330ff1.tar.gz |
erts: Fix fragmented send to finish before exiting
If a process is suspended doing a fragmented send and then
receives an exit signal it was terminated before it could
finish sending the message leading to a memory leak on the
receiving side.
This change fixes that so that the message is allowed to
finish being sent before the process exits.
Closes #5876
Diffstat (limited to 'erts/emulator/beam/erl_process.h')
-rw-r--r-- | erts/emulator/beam/erl_process.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_process.h b/erts/emulator/beam/erl_process.h index 3c606fe9eb..a6f0017e56 100644 --- a/erts/emulator/beam/erl_process.h +++ b/erts/emulator/beam/erl_process.h @@ -1435,6 +1435,7 @@ extern int erts_system_profile_ts_type; #define F_DIRTY_MINOR_GC (1 << 21) /* Dirty minor GC scheduled */ #define F_HIBERNATED (1 << 22) /* Hibernated */ #define F_TRAP_EXIT (1 << 23) /* Trapping exit */ +#define F_FRAGMENTED_SEND (1 << 24) /* Process is doing a distributed fragmented send */ /* Signal queue flags */ #define FS_OFF_HEAP_MSGQ (1 << 0) /* Off heap msg queue */ |