summaryrefslogtreecommitdiff
path: root/erts/emulator/beam/erl_process.h
diff options
context:
space:
mode:
authorLukas Larsson <lukas@erlang.org>2019-10-29 15:42:57 +0100
committerLukas Larsson <lukas@erlang.org>2019-11-04 15:45:58 +0100
commitd1c222fbf9f09d59ee9f26f906d89e8493a9b548 (patch)
treee5564b986e9f52dfe30df2710e723a08734960a9 /erts/emulator/beam/erl_process.h
parentf6ddf71b99c9b2fdf1c1a6726af9ef532d7151e4 (diff)
downloaderlang-d1c222fbf9f09d59ee9f26f906d89e8493a9b548.tar.gz
erts: Move signal queue flags to own flag field in queue struct
We need to make space for more flags so we move all the flags that have something to do with the signal queue to a seperate flag field.
Diffstat (limited to 'erts/emulator/beam/erl_process.h')
-rw-r--r--erts/emulator/beam/erl_process.h42
1 files changed, 22 insertions, 20 deletions
diff --git a/erts/emulator/beam/erl_process.h b/erts/emulator/beam/erl_process.h
index 54ed1e1d47..eb54df41c2 100644
--- a/erts/emulator/beam/erl_process.h
+++ b/erts/emulator/beam/erl_process.h
@@ -1423,26 +1423,28 @@ extern int erts_system_profile_ts_type;
#define F_ETS_SUPER_USER (1 << 9) /* Process is ETS super user */
#define F_FORCE_GC (1 << 10) /* Force gc at process in-scheduling */
#define F_DISABLE_GC (1 << 11) /* Disable GC (see below) */
-#define F_OFF_HEAP_MSGQ (1 << 12) /* Off heap msg queue */
-#define F_ON_HEAP_MSGQ (1 << 13) /* On heap msg queue */
-#define F_OFF_HEAP_MSGQ_CHNG (1 << 14) /* Off heap msg queue changing */
-#define F_ABANDONED_HEAP_USE (1 << 15) /* Have usage of abandoned heap */
-#define F_DELAY_GC (1 << 16) /* Similar to disable GC (see below) */
-#define F_SCHDLR_ONLN_WAITQ (1 << 17) /* Process enqueued waiting to change schedulers online */
-#define F_HAVE_BLCKD_NMSCHED (1 << 18) /* Process has blocked normal multi-scheduling */
-#define F_HIPE_MODE (1 << 19) /* Process is executing in HiPE mode */
-#define F_DELAYED_DEL_PROC (1 << 20) /* Delay delete process (dirty proc exit case) */
-#define F_DIRTY_CLA (1 << 21) /* Dirty copy literal area scheduled */
-#define F_DIRTY_GC_HIBERNATE (1 << 22) /* Dirty GC hibernate scheduled */
-#define F_DIRTY_MAJOR_GC (1 << 23) /* Dirty major GC scheduled */
-#define F_DIRTY_MINOR_GC (1 << 24) /* Dirty minor GC scheduled */
-#define F_HIBERNATED (1 << 25) /* Hibernated */
-#define F_LOCAL_SIGS_ONLY (1 << 26) /* Handle privq sigs only */
-#define F_TRAP_EXIT (1 << 27) /* Trapping exit */
-#define F_DEFERRED_SAVED_LAST (1 << 28) /* Deferred sig_qs.saved_last */
-#define F_DELAYED_PSIGQS_LEN (1 << 29) /* Delayed update of sig_qs.len */
-#define F_HIPE_RECV_LOCKED (1 << 30) /* HiPE message queue locked */
-#define F_HIPE_RECV_YIELD (1 << 31) /* HiPE receive yield */
+#define F_ABANDONED_HEAP_USE (1 << 12) /* Have usage of abandoned heap */
+#define F_DELAY_GC (1 << 13) /* Similar to disable GC (see below) */
+#define F_SCHDLR_ONLN_WAITQ (1 << 14) /* Process enqueued waiting to change schedulers online */
+#define F_HAVE_BLCKD_NMSCHED (1 << 15) /* Process has blocked normal multi-scheduling */
+#define F_HIPE_MODE (1 << 16) /* Process is executing in HiPE mode */
+#define F_DELAYED_DEL_PROC (1 << 17) /* Delay delete process (dirty proc exit case) */
+#define F_DIRTY_CLA (1 << 18) /* Dirty copy literal area scheduled */
+#define F_DIRTY_GC_HIBERNATE (1 << 19) /* Dirty GC hibernate scheduled */
+#define F_DIRTY_MAJOR_GC (1 << 20) /* Dirty major GC scheduled */
+#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 */
+
+/* Signal queue flags */
+#define FS_OFF_HEAP_MSGQ (1 << 0) /* Off heap msg queue */
+#define FS_ON_HEAP_MSGQ (1 << 1) /* On heap msg queue */
+#define FS_OFF_HEAP_MSGQ_CHNG (1 << 2) /* Off heap msg queue changing */
+#define FS_LOCAL_SIGS_ONLY (1 << 3) /* Handle privq sigs only */
+#define FS_DEFERRED_SAVED_LAST (1 << 4) /* Deferred sig_qs.saved_last */
+#define FS_DELAYED_PSIGQS_LEN (1 << 6) /* Delayed update of sig_qs.len */
+#define FS_HIPE_RECV_LOCKED (1 << 7) /* HiPE message queue locked */
+#define FS_HIPE_RECV_YIELD (1 << 8) /* HiPE receive yield */
/*
* F_DISABLE_GC and F_DELAY_GC are similar. Both will prevent