From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Newsgroups: gmane.lisp.guile.bugs Subject: bug#28590: [PATCH 4/7] weak-table: Always unregister previous links when inserting an entry. Date: Tue, 3 Oct 2017 13:43:49 +0200 Message-ID: <20171003114352.13984-5-ludo@gnu.org> References: <20171003114352.13984-1-ludo@gnu.org> NNTP-Posting-Host: blaine.gmane.org X-Trace: blaine.gmane.org 1507031219 23927 195.159.176.226 (3 Oct 2017 11:46:59 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Tue, 3 Oct 2017 11:46:59 +0000 (UTC) Cc: Ludovic =?UTF-8?Q?Court=C3=A8s?= , 28590@debbugs.gnu.org To: wingo@igalia.com Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Tue Oct 03 13:46:51 2017 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dzLey-0005F7-UI for guile-bugs@m.gmane.org; Tue, 03 Oct 2017 13:46:49 +0200 Original-Received: from localhost ([::1]:57963 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dzLf3-0003Qt-Gr for guile-bugs@m.gmane.org; Tue, 03 Oct 2017 07:46:53 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34064) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dzLeN-00034c-7D for bug-guile@gnu.org; Tue, 03 Oct 2017 07:46:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dzLeH-0006dD-DK for bug-guile@gnu.org; Tue, 03 Oct 2017 07:46:11 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:36645) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dzLeH-0006d7-A2 for bug-guile@gnu.org; Tue, 03 Oct 2017 07:46:05 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dzLeH-0006lj-3j; Tue, 03 Oct 2017 07:46:05 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Tue, 03 Oct 2017 11:46:05 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 28590 X-GNU-PR-Package: guile X-GNU-PR-Keywords: Original-Received: via spool by 28590-submit@debbugs.gnu.org id=B28590.150703111525886 (code B ref 28590); Tue, 03 Oct 2017 11:46:05 +0000 Original-Received: (at 28590) by debbugs.gnu.org; 3 Oct 2017 11:45:15 +0000 Original-Received: from localhost ([127.0.0.1]:45318 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dzLdT-0006jM-JY for submit@debbugs.gnu.org; Tue, 03 Oct 2017 07:45:15 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:42623) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dzLdQ-0006ho-Jl for 28590@debbugs.gnu.org; Tue, 03 Oct 2017 07:45:12 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dzLdF-0005rT-9d for 28590@debbugs.gnu.org; Tue, 03 Oct 2017 07:45:04 -0400 Original-Received: from fencepost.gnu.org ([2001:4830:134:3::e]:59154) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dzLcX-0005Br-KI; Tue, 03 Oct 2017 07:44:17 -0400 Original-Received: from [193.50.110.164] (port=33316 helo=gnu.org) by fencepost.gnu.org with esmtpsa (TLS1.2:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1dzLcX-0000d1-4j; Tue, 03 Oct 2017 07:44:17 -0400 X-Mailer: git-send-email 2.14.2 In-Reply-To: <20171003114352.13984-1-ludo@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: "bug-guile" Xref: news.gmane.org gmane.lisp.guile.bugs:8848 Archived-At: * libguile/weak-table.c (weak_table_put_x): Always call 'unregister_disappearing_links' before returning. --- libguile/weak-table.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libguile/weak-table.c b/libguile/weak-table.c index 7d8633165..b5db3ef48 100644 --- a/libguile/weak-table.c +++ b/libguile/weak-table.c @@ -731,9 +731,9 @@ weak_table_put_x (scm_t_weak_table *table, unsigned long hash, return; } - if (entries[k].hash) - unregister_disappearing_links (&entries[k], table->kind); - else + unregister_disappearing_links (&entries[k], table->kind); + + if (!entries[k].hash) table->n_items++; entries[k].hash = hash; -- 2.14.2