From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: =?utf-8?Q?Gerd_M=C3=B6llmann?= Newsgroups: gmane.emacs.devel Subject: Re: Gap buffer problem? Date: Thu, 12 Dec 2024 11:14:44 +0100 Message-ID: References: <87bjximwnj.fsf@protonmail.com> <87ttbal9qx.fsf@protonmail.com> <877c86l1aj.fsf@protonmail.com> <86o71i2m2e.fsf@gnu.org> <87v7vqjexy.fsf@protonmail.com> <87frmt46w5.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="37666"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: Pip Cet , Eli Zaretskii , emacs-devel@gnu.org, ofv@wanadoo.es To: Robert Pluim Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Dec 12 11:15:14 2024 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 1tLgDv-0009dr-PO for ged-emacs-devel@m.gmane-mx.org; Thu, 12 Dec 2024 11:15:11 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tLgDc-0004Bd-FJ; Thu, 12 Dec 2024 05:14:52 -0500 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 1tLgDa-00049I-46 for emacs-devel@gnu.org; Thu, 12 Dec 2024 05:14:50 -0500 Original-Received: from mail-wm1-x330.google.com ([2a00:1450:4864:20::330]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tLgDY-0001vx-I5; Thu, 12 Dec 2024 05:14:49 -0500 Original-Received: by mail-wm1-x330.google.com with SMTP id 5b1f17b1804b1-4361f796586so4415105e9.3; Thu, 12 Dec 2024 02:14:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1733998486; x=1734603286; darn=gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=le6SyooZwUsf03inhTZUwUHbBAlDoPbx4wIc1qpOgwo=; b=OFwfGbo6DvSUftLzm58BbdBPS8m2GWqu5OSd3Ary33dFlkkDzFzlBEBZnHojQIqOLG zLqeel12jbcORziMeDX5e21ksL9BaxmEo3iixptqZIwRoW/cX8yaL59JG32LmEz34iwX wtlUeDPWHpy+8+VCoZhDfqwKWXnIaaaYRyFkjrjKjey2t9fFuAM+5WFgRyXHMSEF8Jx6 K4qDEtWxv5aR7RaXjuadZs1jCIfW6xleFy5X01oPXM1Im/8VET2CsicD97gu+Zd7S7O/ 5NHDDm2H3oa0GmMPRZehQikB/Lcm75mJn61Bv+SSQNPW5z/s2j25c5ne3VFq/h2A8jb+ iZsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1733998486; x=1734603286; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=le6SyooZwUsf03inhTZUwUHbBAlDoPbx4wIc1qpOgwo=; b=Nlzq8jXSVowTcz8eNyqShOVreMM5wNHOUSVPY/FzFGplyuzF7aSHKaVxekrf4KH/Rh HY9ij73+cDoNxgTq22IRwwcza0GvfbUb6qPSM8mr9ai23W1PTtM1BuAWU+D9bpdOdxT7 5aPfDlfieLhF2hVXsUbEePOV3qMnHIgS/nF32iM2ECnY4joR5orcLL89OTA814Xrwemc YCcObWzHTIJMsZCpf8xmDU5HEJg0Bh8LqwTBcT5C92pD+JQMIhTXw4yr8uzv/XxPbaCM 90ReG+TXVa3Nj+stN64iDNtm68c+RG/RDnCXB/li5CQx3ngu25kK5/T6cB8+4l52pyyQ wclQ== X-Forwarded-Encrypted: i=1; AJvYcCUkqiT+syjFwBoF3H3Wq2b5bvyX5K7/ISJnKYo/EsHaziXxP4FQhMzF8KamhmqZBhwkH1O5O8xn5n7gDuw=@gnu.org, AJvYcCXUngpWtaXgM4b1lVFSIn1oVXJS69ECoTutwruCTsrpXqGzB0G36HgNa0LKC/DGqHA0V0qT@gnu.org X-Gm-Message-State: AOJu0YwtwoDMuBkm5Udaj6O91ORcpb7C2tSwmWkI8EyaGSrQN6csku+l inBfQgrJcywKyGEo3SvnOhNIeHucOYhvt/UeulHOSsE+2JouIhi5 X-Gm-Gg: ASbGnctoaOxjiu9XnqRiVUC3ERnw/Vh2f7VovIx7rXoUwQBuzMV6O8x0YAbPTdNP9VA eVHu6LtSSveDhKdl/OOJ1pzHoRyAX6eMSuJlgqoDfG5Q2Cy9/ts57XlFrZzbFFzj4rGyFBj1lFW N3lx1ZIWThIVefoOC7iEZs8jaunuyBCKoIhZqpyYXADONGGi5DzBp0NwSpcM2SPp1z1oOGDO2bw kdM1/dM43NR2bTsNc67enxBNZRhjnu+CkfqHz2qJ5m98Wn0h3tVwuJwLfflNXTbiocMbaJlqKtg rip1ReuOsGJTFUHJ0wiGLD36VRA4LfodOJJlmdFks1Nvn2goniuvg8/cPdtaAESIhA== X-Google-Smtp-Source: AGHT+IEnAXbtl2vnXOC5QNh+FRG7cnS/966Z0x35MUPvGlsjM469QD3ptdkRFbOqu7uN7J2D4/GRAA== X-Received: by 2002:a05:6000:1ac5:b0:385:f909:eb2c with SMTP id ffacd0b85a97d-3864cec7609mr4717116f8f.38.1733998486138; Thu, 12 Dec 2024 02:14:46 -0800 (PST) Original-Received: from pro2 (p200300e0b71a7600fc7086c8db6da834.dip0.t-ipconnect.de. [2003:e0:b71a:7600:fc70:86c8:db6d:a834]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-aa625e4db59sm1108701866b.27.2024.12.12.02.14.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Dec 2024 02:14:45 -0800 (PST) In-Reply-To: <87frmt46w5.fsf@gmail.com> (Robert Pluim's message of "Thu, 12 Dec 2024 09:55:54 +0100") Received-SPF: pass client-ip=2a00:1450:4864:20::330; envelope-from=gerd.moellmann@gmail.com; helo=mail-wm1-x330.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham 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:326418 Archived-At: Robert Pluim writes: >>>>>> On Wed, 11 Dec 2024 20:09:51 +0100, Gerd M=C3=B6llmann said: > > Gerd> I may also be misunderstanding, but in principle, I agree with = Eli. > > Gerd> Say we have processes A and B communicating with each other. Ta= ke the > Gerd> code of A and move it to B, possibly with some automatic transf= ormations > Gerd> if A and B have the same source code. Make two threads in the r= esult > Gerd> process for A and B. Replace inter-process message passing with > Gerd> inter-thread message passing. Initial message may be "fork" tra= nsferring > Gerd> the world of thread A to thread B. > > Your first sentence is doing a lot of lifting there :-) > > In the two process situation, you automatically have two copies of > every object, so you don=CA=BCt need to ensure that the processes are not > stepping on each other. In the two thread situation you don=CA=BCt have > that guarantee, unless you have *first* ensured (via locking, or COW, > etc) that the object states are consistent. Once you=CA=BCve done that, > then you can use messaging to keep things synchronized (or again, > locking etc) > > Robert Sure, a bit of effort is left to the implementer :-).