diff options
author | Sverker Eriksson <[email protected]> | 2018-09-18 14:38:58 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2018-09-18 14:38:58 +0200 |
commit | 990c25dc1265c0450ecb47ca73116ccb72a246c8 (patch) | |
tree | 4cec06b76454f0bb9bbe44e7f5cf3778d1abaf86 /erts/emulator/beam/dist.h | |
parent | 59b49c6a5bc8053db97a27029ecf5245784b45fc (diff) | |
parent | 06a5b038c1fb5f722b7f691488aaf18981f1344f (diff) | |
download | otp-990c25dc1265c0450ecb47ca73116ccb72a246c8.tar.gz otp-990c25dc1265c0450ecb47ca73116ccb72a246c8.tar.bz2 otp-990c25dc1265c0450ecb47ca73116ccb72a246c8.zip |
Merge branch 'sverker/erts/robustify-dist-entry-states/OTP-15297' into maint
* sverker/erts/robustify-dist-entry-states/OTP-15297:
erts: Refactor port dist_entry & conn_id into PRTSD
Remove ugly fail case macros
Consolidate distribution entry state transitions
erts: Fix bug in undocumented system_flag(scheduling_statistics)
Diffstat (limited to 'erts/emulator/beam/dist.h')
-rw-r--r-- | erts/emulator/beam/dist.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/erts/emulator/beam/dist.h b/erts/emulator/beam/dist.h index 75cb865390..d4d7874a70 100644 --- a/erts/emulator/beam/dist.h +++ b/erts/emulator/beam/dist.h @@ -136,6 +136,7 @@ typedef struct { Eterm cid; Eterm connection_id; int no_suspend; + Uint32 flags; } ErtsDSigData; #define ERTS_DE_BUSY_LIMIT (1024*1024) @@ -235,6 +236,7 @@ retry: dsdp->cid = dep->cid; dsdp->connection_id = dep->connection_id; dsdp->no_suspend = no_suspend; + dsdp->flags = dep->flags; if (dspl == ERTS_DSP_NO_LOCK) erts_de_runlock(dep); return res; @@ -254,9 +256,9 @@ void erts_schedule_dist_command(Port *prt, DistEntry *dist_entry) ERTS_LC_ASSERT(erts_lc_is_port_locked(prt)); ASSERT((erts_atomic32_read_nob(&prt->state) & ERTS_PORT_SFLGS_DEAD) == 0); - ASSERT(prt->dist_entry); - dep = prt->dist_entry; + dep = (DistEntry*) erts_prtsd_get(prt, ERTS_PRTSD_DIST_ENTRY); + ASSERT(dep); id = prt->common.id; } else { |