[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#28590: [PATCH 6/7] weak-table: 'rob_from_rich' accounts for disappea
From: |
Ludovic Courtès |
Subject: |
bug#28590: [PATCH 6/7] weak-table: 'rob_from_rich' accounts for disappeared entries. |
Date: |
Tue, 3 Oct 2017 13:43:51 +0200 |
* libguile/weak-table.c (rob_from_rich): Leave the loop also if 'key' or
'value' is zero. Reset 'hash'.
---
libguile/weak-table.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/libguile/weak-table.c b/libguile/weak-table.c
index 5c4b3d30a..24fff4e73 100644
--- a/libguile/weak-table.c
+++ b/libguile/weak-table.c
@@ -292,7 +292,11 @@ rob_from_rich (scm_t_weak_table *table, unsigned long k)
empty = k;
do
empty = (empty + 1) % size;
- while (table->entries[empty].hash);
+ while (table->entries[empty].hash
+ && table->entries[empty].key
+ && table->entries[empty].value);
+
+ table->entries[empty].hash = 0;
do
{
--
2.14.2
- bug#28590: [PATCH 0/7] Attempt to reduce memory growth, Ludovic Courtès, 2017/10/03
- bug#28590: [PATCH 6/7] weak-table: 'rob_from_rich' accounts for disappeared entries.,
Ludovic Courtès <=
- bug#28590: [PATCH 7/7] weak-table: Resize less frequently., Ludovic Courtès, 2017/10/03
- bug#28590: [PATCH 3/7] weak-table: Make sure 'move_disappearing_links' actually moves links., Ludovic Courtès, 2017/10/03
- bug#28590: [PATCH 2/7] weak-table: Stress the GC a little less when resizing., Ludovic Courtès, 2017/10/03
- bug#28590: [PATCH 1/7] weak-table: Fix unbounded growth of the disappearing link table., Ludovic Courtès, 2017/10/03
- bug#28590: [PATCH 5/7] weak-table: 'move_weak_entry' reports disappeared links., Ludovic Courtès, 2017/10/03
- bug#28590: [PATCH 4/7] weak-table: Always unregister previous links when inserting an entry., Ludovic Courtès, 2017/10/03
- bug#28590: [PATCH 0/7] Attempt to reduce memory growth, Ludovic Courtès, 2017/10/04