summaryrefslogtreecommitdiff
path: root/erts/emulator/beam/erl_process.h
diff options
context:
space:
mode:
authorLukas Larsson <lukas@erlang.org>2022-04-14 17:07:43 +0200
committerLukas Larsson <lukas@erlang.org>2022-04-27 10:49:38 +0200
commitc78a8e97538fe444575779336fca7701af330ff1 (patch)
tree385fa2b1b13933c7b991b903a9207ffed4b55e03 /erts/emulator/beam/erl_process.h
parent6d5a5f31c36bbdaad21585d25974177bd1b75e66 (diff)
downloaderlang-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.h1
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 */