diff options
author | Sverker Eriksson <[email protected]> | 2018-09-27 16:07:10 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2018-10-03 19:00:53 +0200 |
commit | d88239752cdeacfac8858439334599b3ec471803 (patch) | |
tree | 8ffd956327a28e68e0f41afd6ab75ad4d2a55135 /erts/emulator/beam/erl_db_catree.h | |
parent | 4a67d1a104193ca0f5a0dc3f3dfc0e2b6df61f2f (diff) | |
download | otp-d88239752cdeacfac8858439334599b3ec471803.tar.gz otp-d88239752cdeacfac8858439334599b3ec471803.tar.bz2 otp-d88239752cdeacfac8858439334599b3ec471803.zip |
erts: Improve deallocation of CATree nodes
Update table memory stats before scheduling free
to not be dependent on deallocation order with main table struct.
Diffstat (limited to 'erts/emulator/beam/erl_db_catree.h')
-rw-r--r-- | erts/emulator/beam/erl_db_catree.h | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/erts/emulator/beam/erl_db_catree.h b/erts/emulator/beam/erl_db_catree.h index 406f3bb0f2..4d3e75bfe0 100644 --- a/erts/emulator/beam/erl_db_catree.h +++ b/erts/emulator/beam/erl_db_catree.h @@ -38,14 +38,12 @@ typedef struct { Sint lock_statistics; int is_valid; /* If this base node is still valid */ TreeDbTerm *root; /* The root of the sequential tree */ - DbTable * tab; /* Table ptr, used when freeing using thread progress */ ErtsThrPrgrLaterOp free_item; /* Used when freeing using thread progress */ struct DbTableCATreeNode * next; /* Used when gradually deleting */ } DbTableCATreeBaseNode; typedef struct { ErtsThrPrgrLaterOp free_item; /* Used when freeing using thread progress */ - DbTable* tab; /* Table ptr, used when freeing using thread progress */ erts_mtx_t lock; /* Used when joining route nodes */ int is_valid; /* If this route node is still valid */ erts_atomic_t left; |