summaryrefslogtreecommitdiff
path: root/erts/emulator/beam/dist.h
diff options
context:
space:
mode:
authorRickard Green <rickard@erlang.org>2019-07-08 15:42:46 +0200
committerRickard Green <rickard@erlang.org>2019-07-22 11:18:08 +0200
commitf12c8c88cc1d19d716622a081075ecf14cacf4fd (patch)
tree00f23ab4fca2387911eecc4cf03dd9e61dcfd9c8 /erts/emulator/beam/dist.h
parent97c7c0efdf994b7e1a6860c8f34af4b3474ec8ee (diff)
downloaderlang-f12c8c88cc1d19d716622a081075ecf14cacf4fd.tar.gz
Fix node refc test of external data
Diffstat (limited to 'erts/emulator/beam/dist.h')
-rw-r--r--erts/emulator/beam/dist.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/erts/emulator/beam/dist.h b/erts/emulator/beam/dist.h
index 067028634b..a33fb7efcf 100644
--- a/erts/emulator/beam/dist.h
+++ b/erts/emulator/beam/dist.h
@@ -274,6 +274,18 @@ typedef struct erts_dsig_send_context {
typedef struct dist_sequences DistSeqNode;
+struct dist_sequences {
+ ErlHeapFragment hfrag;
+ struct dist_sequences *parent;
+ struct dist_sequences *left;
+ struct dist_sequences *right;
+ char is_red;
+
+ Uint64 seq_id;
+ int cnt;
+ Sint ctl_len;
+};
+
/*
* erts_dsig_send_* return values.
*/
@@ -306,9 +318,9 @@ extern Uint erts_dist_cache_size(void);
extern Sint erts_abort_connection_rwunlock(DistEntry *dep);
-extern void erts_dist_seq_tree_foreach(
+extern void erts_debug_dist_seq_tree_foreach(
DistEntry *dep,
- int (*func)(ErtsDistExternal *, void*, Sint), void *args);
+ int (*func)(DistSeqNode *, void*, Sint), void *args);
extern int erts_dsig_prepare(ErtsDSigSendContext *,
DistEntry*,