aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_db_util.h
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2016-07-08 15:13:35 +0200
committerLukas Larsson <[email protected]>2016-07-11 09:11:13 +0200
commita6d87854c3ae65dba8dba6571b4d31d901316a39 (patch)
tree5646694703622bfd604010bdbc4763b314522a00 /erts/emulator/beam/erl_db_util.h
parent382adc9e5d7c7dbd4e1f12adc483bc6eb7ed6c3d (diff)
downloadotp-a6d87854c3ae65dba8dba6571b4d31d901316a39.tar.gz
otp-a6d87854c3ae65dba8dba6571b4d31d901316a39.tar.bz2
otp-a6d87854c3ae65dba8dba6571b4d31d901316a39.zip
erts: Fix deadlock in ets:update_counter/4
in 'set' with 'write_concurrency' when inserting default object causes table to grow and the bucket to split is protected by same lock as the key.
Diffstat (limited to 'erts/emulator/beam/erl_db_util.h')
-rw-r--r--erts/emulator/beam/erl_db_util.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_db_util.h b/erts/emulator/beam/erl_db_util.h
index 60f7067d70..4acedbfed0 100644
--- a/erts/emulator/beam/erl_db_util.h
+++ b/erts/emulator/beam/erl_db_util.h
@@ -79,6 +79,7 @@ typedef union db_table DbTable;
#define DB_MUST_RESIZE 1
#define DB_NEW_OBJECT 2
+#define DB_INC_TRY_GROW 4
/* Info about a database entry while it's being updated
* (by update_counter or update_element)