From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Ihor Radchenko Newsgroups: gmane.emacs.devel Subject: Re: Concurrency via isolated process/thread Date: Thu, 06 Jul 2023 14:47:13 +0000 Message-ID: <87zg49xfke.fsf@localhost> References: <871qhnr4ty.fsf@localhost> <87v8ezpov0.fsf@localhost> <83r0pnk2az.fsf@gnu.org> <87pm57pns8.fsf@localhost> <87lefvp55t.fsf@yahoo.com> <87sfa28ura.fsf@localhost> <87cz16o8vz.fsf@yahoo.com> <87jzve8r4m.fsf@localhost> <871qhmo5nv.fsf@yahoo.com> <87bkgq8p5t.fsf@localhost> <831qhmjwk0.fsf@gnu.org> <875y6y8nlr.fsf@localhost> <87h6qhnalc.fsf@yahoo.com> <87ilax71wo.fsf@localhost> <878rbtkz2c.fsf@yahoo.com> <87a5w96x2o.fsf@localhost> <87jzvdjjp4.fsf@yahoo.com> <877crd6w53.fsf@localhost> <877crdjiwn.fsf@yahoo.com> <874jmh6v4s.fsf@localhost> <83y1jtgmbw.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34844"; mail-complaints-to="usenet@ciao.gmane.io" Cc: luangruo@yahoo.com, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Jul 06 16:48:18 2023 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qHQHJ-0008kp-C2 for ged-emacs-devel@m.gmane-mx.org; Thu, 06 Jul 2023 16:48:17 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qHQGb-0006xh-EM; Thu, 06 Jul 2023 10:47:33 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qHQGR-0006vT-RR for emacs-devel@gnu.org; Thu, 06 Jul 2023 10:47:26 -0400 Original-Received: from mout02.posteo.de ([185.67.36.66]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qHQGP-0007od-5G for emacs-devel@gnu.org; Thu, 06 Jul 2023 10:47:23 -0400 Original-Received: from submission (posteo.de [185.67.36.169]) by mout02.posteo.de (Postfix) with ESMTPS id AF34D240104 for ; Thu, 6 Jul 2023 16:47:18 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1688654838; bh=MC1DMsbVjNqpkzo546sat7eFG52S3p3IH3e/oBxWHkU=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:From; b=g3yJwM8TIxpp0X6fi7EEZIM92ArzsBp4vkWqP9oURCwSoRkX43pUuQcinkrYrhmXz 05kczug2S6V9j92oZTCrqVotCeVhhb8x6/YIPHrnyquw5pYjFaTqdaY4/CeWhhUMjX mty9ywAzQe/N+YVzC4JBsTTTlV3ZBWZqe3NS2ouN7eUhsP+QweSMxYMd6f4wh4aTtZ XoSx34d5iw5d1h/+8LdkaIAtC8lWQlXH+7FDbxi3wNG1WeM0k2sCFmrt48i+pLsPuO IB/PYlEeLcjVnLwZwxSwQSztAJqkSVrq7uPiXBe70MKerRHGNC6LbGfp8RyWGq3i5i dOJ8W6/ojKqTw== Original-Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4QxfWV0Qkpz6tn4; Thu, 6 Jul 2023 16:47:17 +0200 (CEST) In-Reply-To: <83y1jtgmbw.fsf@gnu.org> Received-SPF: pass client-ip=185.67.36.66; envelope-from=yantar92@posteo.net; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=unavailable autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:307510 Archived-At: Eli Zaretskii writes: >> My understanding is >> >> CHECK_STRING (XCAR (foo)); >> >> foo = XSTRING (XCAR (foo)); >> >> So, locking is needed to ensure that CHECK_STRING assertion remains valid. >> >> Or did you refer to something else? > > I don't know what Po Lu had in mind, but one aspect of this is that a > string object might keep its memory address, but its data could be > relocated. This can happen as part of GC, and is the reason why > string data is kept separate from the string itself. This does not change my understanding. Locking should prevent manipulations with object data over the time span the code expects the object to be unchanged. -- Ihor Radchenko // yantar92, Org mode contributor, Learn more about Org mode at . Support Org development at , or support my work at