summaryrefslogtreecommitdiff
path: root/erts/emulator/beam/erl_db_hash.c
diff options
context:
space:
mode:
authorSverker Eriksson <sverker@erlang.org>2019-07-05 14:39:57 +0200
committerSverker Eriksson <sverker@erlang.org>2019-07-05 14:39:57 +0200
commit0deb30929a8eaffd54bd30630933bb05934aa427 (patch)
treec1bfe1ea5a47803d7d80227b31f741b483323b81 /erts/emulator/beam/erl_db_hash.c
parent1dc33076f9f633dff1eeb10eef7caaee545e5110 (diff)
parentea69ed4a5885281b01a774b3efbc87184fe6db5f (diff)
downloaderlang-0deb30929a8eaffd54bd30630933bb05934aa427.tar.gz
Merge branch 'sverker/ets_SUITE-fixtable_iter_bag'
* sverker/ets_SUITE-fixtable_iter_bag: stdlib: ets_SUITE:fixtable_iter_bag
Diffstat (limited to 'erts/emulator/beam/erl_db_hash.c')
-rw-r--r--erts/emulator/beam/erl_db_hash.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_db_hash.c b/erts/emulator/beam/erl_db_hash.c
index ceaccf7e44..1643557d40 100644
--- a/erts/emulator/beam/erl_db_hash.c
+++ b/erts/emulator/beam/erl_db_hash.c
@@ -771,7 +771,7 @@ static int db_next_hash(Process *p, DbTable *tbl, Eterm key, Eterm *ret)
b = next_live(tb, &ix, &lck, b->next);
if (tb->common.status & (DB_BAG | DB_DUPLICATE_BAG)) {
while (b != 0) {
- if (!has_live_key(tb, b, key, hval)) {
+ if (!has_key(tb, b, key, hval)) {
break;
}
b = next_live(tb, &ix, &lck, b->next);
@@ -781,6 +781,7 @@ static int db_next_hash(Process *p, DbTable *tbl, Eterm key, Eterm *ret)
*ret = am_EOT;
}
else {
+ ASSERT(!is_pseudo_deleted(b));
*ret = db_copy_key(p, tbl, &b->dbterm);
RUNLOCK_HASH(lck);
}