From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#38807: [Feature request]: Support lisp workers like web workers. Date: Fri, 03 Jan 2020 08:02:51 +0200 Message-ID: <83png1hyb8.fsf@gnu.org> References: <83o8vpn8g1.fsf@gnu.org> <87mub9u0ld.fsf@gmx.de> <831rslmxih.fsf@gnu.org> <83lfqslafm.fsf@gnu.org> <83r20jjgg3.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="192921"; mail-complaints-to="usenet@blaine.gmane.org" Cc: 38807@debbugs.gnu.org, michael.albinus@gmx.de To: HaiJun Zhang Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Jan 03 07:03:11 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1inG3C-000o3R-QJ for geb-bug-gnu-emacs@m.gmane.org; Fri, 03 Jan 2020 07:03:11 +0100 Original-Received: from localhost ([::1]:48988 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1inG3A-00055h-Uo for geb-bug-gnu-emacs@m.gmane.org; Fri, 03 Jan 2020 01:03:08 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:51103) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1inG35-00055a-J3 for bug-gnu-emacs@gnu.org; Fri, 03 Jan 2020 01:03:04 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1inG34-0005EH-HZ for bug-gnu-emacs@gnu.org; Fri, 03 Jan 2020 01:03:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:34364) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1inG34-0005DK-Bh for bug-gnu-emacs@gnu.org; Fri, 03 Jan 2020 01:03:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1inG34-0006Le-8X for bug-gnu-emacs@gnu.org; Fri, 03 Jan 2020 01:03:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 03 Jan 2020 06:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 38807 X-GNU-PR-Package: emacs Original-Received: via spool by 38807-submit@debbugs.gnu.org id=B38807.157803138024394 (code B ref 38807); Fri, 03 Jan 2020 06:03:02 +0000 Original-Received: (at 38807) by debbugs.gnu.org; 3 Jan 2020 06:03:00 +0000 Original-Received: from localhost ([127.0.0.1]:40337 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1inG31-0006LO-QH for submit@debbugs.gnu.org; Fri, 03 Jan 2020 01:03:00 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:39862) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1inG30-0006LB-Ml for 38807@debbugs.gnu.org; Fri, 03 Jan 2020 01:02:59 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:42739) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1inG2u-0004ds-TT; Fri, 03 Jan 2020 01:02:52 -0500 Original-Received: from [176.228.60.248] (port=2792 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1inG2u-0005SD-55; Fri, 03 Jan 2020 01:02:52 -0500 In-reply-to: (message from HaiJun Zhang on Fri, 3 Jan 2020 11:18:42 +0800) 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: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:174097 Archived-At: > Date: Fri, 3 Jan 2020 11:18:42 +0800 > From: HaiJun Zhang > Cc: michael.albinus@gmx.de, 38807@debbugs.gnu.org > > Then these threads cannot really run Lisp at all, nor even directly > affect Lisp data. So in effect you want to be able to run threads > that don't enter the Lisp interpreter, nor modify any Lisp data. > > Is it because there are many global resources in infrastructure of network and filesystem functions? Yes. Every variable you want to reference is either global or local to some buffer, for example. Just look at any Lisp application in Emacs and try to analyze its dependence on the global state, and you will immediately see the problem. > Is there an efficient way for threads in module to communicate with emacs core? It is used for threads to > send result data to emacs core. The only thing I known is sending signals to emacs which is not too efficient. > I would like emacs core to create an event queue for modules and modules can send events to the queue. There are ways of communications (e.g., you can call any Emacs function), but if more is needed, we can add that. Some design is necessary, though, to identify what else is needed and why. > Yes. I don’t known how web browsers do this. Their web pages are rendered by different processes and then > displayed in the same window. Shared memory?