Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Ledest:erlang:24
erlang
2724-write_concurrency-auto-Fix-missing-destroy...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 2724-write_concurrency-auto-Fix-missing-destroy-of-old-lo.patch of Package erlang
From 5ca4de5cc4d34e57eac904390f33f3ad8c69e127 Mon Sep 17 00:00:00 2001 From: Kjell Winblad <kjellwinblad@gmail.com> Date: Wed, 22 Sep 2021 10:22:10 +0200 Subject: [PATCH 4/8] {write_concurrency, auto}: Fix missing destroy of old lock array --- erts/emulator/beam/erl_db_hash.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/erts/emulator/beam/erl_db_hash.c b/erts/emulator/beam/erl_db_hash.c index 56e5729867..fd79dd3344 100644 --- a/erts/emulator/beam/erl_db_hash.c +++ b/erts/emulator/beam/erl_db_hash.c @@ -395,12 +395,15 @@ void erl_db_hash_adapt_no_locks(DbTable* tb) { ERTS_ASSERT(total_new == total_old); } #endif - erts_db_free(ERTS_ALC_T_DB_SEG, tb, old_locks, sizeof(DbTableHashFineLockSlot) * old_no_locks); calc_shrink_limit(tbl); erts_atomic_set_nob(&tbl->lock_array_resize_state, DB_HASH_LOCK_ARRAY_RESIZE_STATUS_NORMAL); erts_rwmtx_rwunlock(&tb->common.rwlock); + for (i = 0; i < old_no_locks; i++) { + erts_rwmtx_destroy(&old_locks[i].u.lck_ctr.lck); + } + erts_db_free(ERTS_ALC_T_DB_SEG, tb, old_locks, sizeof(DbTableHashFineLockSlot) * old_no_locks); } } -- 2.31.1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor