From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: [PATCH v1] Fix errors generated when multiple IRC clients talk to a single IRC proxy. Date: Wed, 15 Oct 2014 09:54:49 -0400 Message-ID: References: <87wq81om34.fsf@zigzag.favinet> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1413381318 16073 80.91.229.3 (15 Oct 2014 13:55:18 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 15 Oct 2014 13:55:18 +0000 (UTC) Cc: emacs-devel@gnu.org, David Edmondson To: Thien-Thi Nguyen Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 15 15:55:11 2014 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1XeP2k-0003Iy-Ne for ged-emacs-devel@m.gmane.org; Wed, 15 Oct 2014 15:55:10 +0200 Original-Received: from localhost ([::1]:44861 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XeP2k-0004v6-7C for ged-emacs-devel@m.gmane.org; Wed, 15 Oct 2014 09:55:10 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:49550) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XeP2Z-0004pu-V1 for emacs-devel@gnu.org; Wed, 15 Oct 2014 09:55:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XeP2S-0000Tq-Ft for emacs-devel@gnu.org; Wed, 15 Oct 2014 09:54:59 -0400 Original-Received: from ironport2-out.teksavvy.com ([206.248.154.181]:22353) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XeP2S-0000TN-C0; Wed, 15 Oct 2014 09:54:52 -0400 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArYGAIDvNVNFxKjo/2dsb2JhbABZgwaDSlK/a4EXF3SCJQEBAQECASMzIwULCxoCGA4CAhQYDSSIBAivG6J+F4EpjR4zB4JvgUkBA6kZgWqBcYFbIQ X-IPAS-Result: ArYGAIDvNVNFxKjo/2dsb2JhbABZgwaDSlK/a4EXF3SCJQEBAQECASMzIwULCxoCGA4CAhQYDSSIBAivG6J+F4EpjR4zB4JvgUkBA6kZgWqBcYFbIQ X-IronPort-AV: E=Sophos;i="4.97,753,1389762000"; d="scan'208";a="94258316" Original-Received: from 69-196-168-232.dsl.teksavvy.com (HELO pastel.home) ([69.196.168.232]) by ironport2-out.teksavvy.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 15 Oct 2014 09:54:50 -0400 Original-Received: by pastel.home (Postfix, from userid 20848) id D9C947CFB; Wed, 15 Oct 2014 09:54:49 -0400 (EDT) In-Reply-To: <87wq81om34.fsf@zigzag.favinet> (Thien-Thi Nguyen's message of "Wed, 15 Oct 2014 08:58:55 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 206.248.154.181 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:175409 Archived-At: > I don't know if this is the case for Emacs Lisp, but i've been > burned when (and am thus now leery of) doing a destructive > operation on the hash table while hash walking, elsewhere > (here, =E2=80=98erc-remove-channel-user=E2=80=99 boils down to =E2=80=98r= emhash=E2=80=99). It's indeed a dangerous area. We intend to guarantee the following propert= ies: - if an element is in the table during the whole duration of maphash, then maphash will see it. - if an element is not in the table during any part of the duration of maph= ash, then maphash will not see it. So if an element is removed, maphash may still see it. And if it gets added, maphash may miss it. And if it gets changed, maphash may see the old value. Stefan