aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_db_catree.h
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2018-10-03 20:06:16 +0200
committerSverker Eriksson <[email protected]>2018-10-03 20:06:16 +0200
commit7bdb8e08f7f6206617a5c5b83b15e3453e5e27d2 (patch)
tree2ffdb02daf051d54470cde8f705f8254d3bc2c72 /erts/emulator/beam/erl_db_catree.h
parentb276b28f467cadcf4255b37114c323598b551138 (diff)
downloadotp-7bdb8e08f7f6206617a5c5b83b15e3453e5e27d2.tar.gz
otp-7bdb8e08f7f6206617a5c5b83b15e3453e5e27d2.tar.bz2
otp-7bdb8e08f7f6206617a5c5b83b15e3453e5e27d2.zip
erts: Refactor out DbRouteKey struct
to not abuse DbTerm.
Diffstat (limited to 'erts/emulator/beam/erl_db_catree.h')
-rw-r--r--erts/emulator/beam/erl_db_catree.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/erts/emulator/beam/erl_db_catree.h b/erts/emulator/beam/erl_db_catree.h
index 0ad921d880..f9c0784289 100644
--- a/erts/emulator/beam/erl_db_catree.h
+++ b/erts/emulator/beam/erl_db_catree.h
@@ -34,6 +34,13 @@
struct DbTableCATreeNode;
typedef struct {
+ Eterm term;
+ struct erl_off_heap_header* oh;
+ Uint size;
+ Eterm heap[1];
+} DbRouteKey;
+
+typedef struct {
erts_rwmtx_t lock; /* The lock for this base node */
Sint lock_statistics;
int is_valid; /* If this base node is still valid */
@@ -42,12 +49,7 @@ typedef struct {
struct DbTableCATreeNode * next; /* Used when gradually deleting */
#ifdef ERTS_ENABLE_LOCK_CHECK
- struct {
- Eterm key;
- struct erl_off_heap_header* key_oh;
- Uint key_size;
- Eterm key_heap[1];
- } lc;
+ DbRouteKey lc_key;
#endif
char end_of_struct__;
} DbTableCATreeBaseNode;
@@ -61,7 +63,7 @@ typedef struct {
int is_valid; /* If this route node is still valid */
erts_atomic_t left;
erts_atomic_t right;
- DbTerm key;
+ DbRouteKey key;
} DbTableCATreeRouteNode;
typedef struct DbTableCATreeNode {