From d988f91307b2922de79f92d3b9aa160ac947b44c Mon Sep 17 00:00:00 2001 From: Sverker Eriksson Date: Wed, 3 Oct 2018 18:04:38 +0200 Subject: erts: Add lock order check of erl_db_catree base nodes Lock order is key term order, so each base node needs its own key if lock check is enabled. --- erts/emulator/beam/erl_db_catree.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'erts/emulator/beam/erl_db_catree.h') diff --git a/erts/emulator/beam/erl_db_catree.h b/erts/emulator/beam/erl_db_catree.h index 4d3e75bfe0..07a48d5bd3 100644 --- a/erts/emulator/beam/erl_db_catree.h +++ b/erts/emulator/beam/erl_db_catree.h @@ -40,6 +40,16 @@ typedef struct { TreeDbTerm *root; /* The root of the sequential tree */ ErtsThrPrgrLaterOp free_item; /* Used when freeing using thread progress */ 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; +#endif + char end_of_struct__; } DbTableCATreeBaseNode; typedef struct { -- cgit v1.2.3