diff options
-rw-r--r-- | libguile/weak-set.c | 2 | ||||
-rw-r--r-- | libguile/weak-table.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/libguile/weak-set.c b/libguile/weak-set.c index bdabedf9d..33402b548 100644 --- a/libguile/weak-set.c +++ b/libguile/weak-set.c @@ -362,7 +362,7 @@ resize_set (scm_t_weak_set *set) run anything, so drop our lock to avoid deadlocks. */ new_entries = scm_gc_malloc_pointerless (new_size * sizeof(scm_t_weak_entry), "weak set"); - scm_i_pthread_mutex_unlock (&set->lock); + scm_i_pthread_mutex_lock (&set->lock); } while (!is_acceptable_size_index (set, new_size_index)); diff --git a/libguile/weak-table.c b/libguile/weak-table.c index 6a3fecd3e..be73e1bfa 100644 --- a/libguile/weak-table.c +++ b/libguile/weak-table.c @@ -484,7 +484,7 @@ resize_table (scm_t_weak_table *table) /* Allocating memory might cause finalizers to run, which could run anything, so drop our lock to avoid deadlocks. */ new_entries = allocate_entries (new_size, table->kind); - scm_i_pthread_mutex_unlock (&table->lock); + scm_i_pthread_mutex_lock (&table->lock); } while (!is_acceptable_size_index (table, new_size_index)); |