From: Ihor Radchenko <yantar92@posteo.net>
To: emacs-devel@gnu.org
Subject: Concurrency via isolated process/thread
Date: Tue, 04 Jul 2023 16:58:49 +0000 [thread overview]
Message-ID: <871qhnr4ty.fsf@localhost> (raw)
[ Discussion moved from
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=64423 ]
> > I feel that I am repeating an already proposed idea, but what about
> > concurrent isolated process that interacts with the main process?
>
> (This stuff should not be discussed on the bug tracker, but on
> emacs-devel.)
Ok.
> If you mean what the async package does, then yes, this is a workable
> idea. But it doesn't need to change anything in Emacs, and it has
> some downsides, like the difficulties in sharing state with the other
> process.
I had something similar in mind, but slightly different.
emacs-async package explicitly transfers pre-defined set of variables to
the async Emacs process and cannot transfer non-printable variables
(like markers or buffers).
But may it be possible to
1. Limit the async process memory to a small lexical subset of symbols
(within a function).
2. Every time the async process needs to read/write a symbol slot
outside its lexical scope, query the main Emacs process.
More concretely, is it possible to copy internal Elisp object
representations between Emacs processes and arrange mutability to query
the right Emacs process that "owns" the object?
The inter-process communication does not have to be asynchronous, but
may work similar to the existing thread implementation.
--
Ihor Radchenko // yantar92,
Org mode contributor,
Learn more about Org mode at <https://orgmode.org/>.
Support Org development at <https://liberapay.com/org-mode>,
or support my work at <https://liberapay.com/yantar92>
next reply other threads:[~2023-07-04 16:58 UTC|newest]
Thread overview: 192+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-04 16:58 Ihor Radchenko [this message]
2023-07-04 17:12 ` Concurrency via isolated process/thread Eli Zaretskii
2023-07-04 17:29 ` Ihor Radchenko
2023-07-04 17:35 ` Eli Zaretskii
2023-07-04 17:52 ` Ihor Radchenko
2023-07-04 18:24 ` Eli Zaretskii
2023-07-05 11:23 ` Ihor Radchenko
2023-07-05 11:49 ` Eli Zaretskii
2023-07-05 12:40 ` Ihor Radchenko
2023-07-05 13:02 ` Lynn Winebarger
2023-07-05 13:10 ` Ihor Radchenko
2023-07-06 18:35 ` Lynn Winebarger
2023-07-07 11:48 ` Ihor Radchenko
2023-07-05 13:33 ` Eli Zaretskii
2023-07-05 13:35 ` Ihor Radchenko
2023-07-05 0:34 ` Po Lu
2023-07-05 11:26 ` Ihor Radchenko
2023-07-05 12:11 ` Po Lu
2023-07-05 12:44 ` Ihor Radchenko
2023-07-05 13:21 ` Po Lu
2023-07-05 13:26 ` Ihor Radchenko
2023-07-05 13:51 ` Eli Zaretskii
2023-07-05 14:00 ` Ihor Radchenko
2023-07-06 0:32 ` Po Lu
2023-07-06 10:46 ` Ihor Radchenko
2023-07-06 12:24 ` Po Lu
2023-07-06 12:31 ` Ihor Radchenko
2023-07-06 12:41 ` Po Lu
2023-07-06 12:51 ` Ihor Radchenko
2023-07-06 12:58 ` Po Lu
2023-07-06 13:13 ` Ihor Radchenko
2023-07-06 14:13 ` Eli Zaretskii
2023-07-06 14:47 ` Ihor Radchenko
2023-07-06 15:10 ` Eli Zaretskii
2023-07-06 16:17 ` Ihor Radchenko
2023-07-06 18:19 ` Eli Zaretskii
2023-07-07 12:04 ` Ihor Radchenko
2023-07-07 13:16 ` Eli Zaretskii
2023-07-07 14:29 ` Ihor Radchenko
2023-07-07 14:47 ` Eli Zaretskii
2023-07-07 15:21 ` Ihor Radchenko
2023-07-07 18:04 ` Eli Zaretskii
2023-07-07 18:24 ` Ihor Radchenko
2023-07-07 19:36 ` Eli Zaretskii
2023-07-07 20:05 ` Ihor Radchenko
2023-07-08 7:05 ` Eli Zaretskii
2023-07-08 10:53 ` Ihor Radchenko
2023-07-08 14:26 ` Eli Zaretskii
2023-07-09 9:36 ` Ihor Radchenko
2023-07-09 9:56 ` Po Lu
2023-07-09 10:04 ` Ihor Radchenko
2023-07-09 11:59 ` Eli Zaretskii
2023-07-09 13:58 ` Ihor Radchenko
2023-07-09 14:52 ` Eli Zaretskii
2023-07-09 15:49 ` Ihor Radchenko
2023-07-09 16:35 ` Eli Zaretskii
2023-07-10 11:30 ` Ihor Radchenko
2023-07-10 12:13 ` Po Lu
2023-07-10 12:28 ` Ihor Radchenko
2023-07-10 12:48 ` Po Lu
2023-07-10 12:53 ` Ihor Radchenko
2023-07-10 13:18 ` Po Lu
2023-07-10 13:09 ` Eli Zaretskii
2023-07-10 13:58 ` Ihor Radchenko
2023-07-10 14:37 ` Eli Zaretskii
2023-07-10 14:55 ` Ihor Radchenko
2023-07-10 16:03 ` Eli Zaretskii
2023-07-16 14:58 ` Ihor Radchenko
2023-07-17 7:55 ` Ihor Radchenko
2023-07-17 8:36 ` Po Lu
2023-07-17 8:52 ` Ihor Radchenko
2023-07-17 9:39 ` Po Lu
2023-07-17 9:54 ` Ihor Radchenko
2023-07-17 10:08 ` Po Lu
2023-07-24 8:42 ` Ihor Radchenko
2023-07-24 9:52 ` Po Lu
2023-07-24 10:09 ` Ihor Radchenko
2023-07-24 12:15 ` Po Lu
2023-07-24 12:25 ` Ihor Radchenko
2023-07-24 13:31 ` Po Lu
2023-07-24 13:53 ` Ihor Radchenko
2023-07-25 0:12 ` Po Lu
2023-07-25 4:28 ` Ihor Radchenko
2023-07-24 12:50 ` Eli Zaretskii
2023-07-24 13:15 ` Ihor Radchenko
2023-07-24 13:41 ` Eli Zaretskii
2023-07-24 14:13 ` Ihor Radchenko
2023-07-24 12:44 ` Eli Zaretskii
2023-07-24 13:02 ` Ihor Radchenko
2023-07-24 13:54 ` Eli Zaretskii
2023-07-24 14:24 ` Ihor Radchenko
2023-07-24 16:00 ` Eli Zaretskii
2023-07-24 16:38 ` Ihor Radchenko
2023-07-25 0:20 ` Po Lu
2023-07-25 4:36 ` Ihor Radchenko
2023-07-25 7:27 ` Po Lu
2023-07-25 7:59 ` Ihor Radchenko
2023-07-25 8:27 ` Po Lu
2023-07-25 8:45 ` Ihor Radchenko
2023-07-25 8:53 ` Po Lu
2023-07-25 9:03 ` Ihor Radchenko
2023-07-25 9:17 ` Po Lu
2023-07-25 9:27 ` Ihor Radchenko
2023-07-25 9:37 ` Po Lu
2023-07-25 12:40 ` Eli Zaretskii
2023-07-25 11:29 ` Eli Zaretskii
2023-07-25 11:52 ` Ihor Radchenko
2023-07-25 14:27 ` Eli Zaretskii
2023-07-09 17:13 ` Gregory Heytings
2023-07-10 11:37 ` Ihor Radchenko
2023-07-13 13:54 ` Gregory Heytings
2023-07-13 14:23 ` Ihor Radchenko
2023-07-07 0:21 ` Po Lu
2023-07-06 14:08 ` Eli Zaretskii
2023-07-06 15:01 ` Ihor Radchenko
2023-07-06 15:16 ` Eli Zaretskii
2023-07-06 16:32 ` Ihor Radchenko
2023-07-06 17:50 ` Eli Zaretskii
2023-07-07 12:30 ` Ihor Radchenko
2023-07-07 13:34 ` Eli Zaretskii
2023-07-07 15:17 ` Ihor Radchenko
2023-07-07 19:31 ` Eli Zaretskii
2023-07-07 20:01 ` Ihor Radchenko
2023-07-08 6:50 ` Eli Zaretskii
2023-07-08 11:55 ` Ihor Radchenko
2023-07-08 14:43 ` Eli Zaretskii
2023-07-09 9:57 ` Ihor Radchenko
2023-07-09 12:08 ` Eli Zaretskii
2023-07-09 14:16 ` Ihor Radchenko
2023-07-09 15:00 ` Eli Zaretskii
2023-07-09 12:22 ` Po Lu
2023-07-09 13:12 ` Eli Zaretskii
2023-07-10 0:18 ` Po Lu
2023-07-08 0:51 ` Po Lu
2023-07-08 4:18 ` tomas
2023-07-08 5:51 ` Po Lu
2023-07-08 6:01 ` tomas
2023-07-08 10:02 ` Ihor Radchenko
2023-07-08 19:39 ` tomas
2023-07-08 6:25 ` Eli Zaretskii
2023-07-08 6:38 ` Ihor Radchenko
2023-07-08 7:45 ` Eli Zaretskii
2023-07-08 8:16 ` Ihor Radchenko
2023-07-08 10:13 ` Eli Zaretskii
2023-07-07 13:35 ` Po Lu
2023-07-07 15:31 ` Ihor Radchenko
2023-07-08 0:44 ` Po Lu
2023-07-08 4:29 ` tomas
2023-07-08 7:21 ` Eli Zaretskii
2023-07-08 7:48 ` Po Lu
2023-07-08 10:02 ` Eli Zaretskii
2023-07-08 11:54 ` Po Lu
2023-07-08 14:12 ` Eli Zaretskii
2023-07-09 0:37 ` Po Lu
2023-07-09 7:01 ` Eli Zaretskii
2023-07-09 7:14 ` Po Lu
2023-07-09 7:35 ` Eli Zaretskii
2023-07-09 7:57 ` Ihor Radchenko
2023-07-09 8:41 ` Eli Zaretskii
2023-07-10 14:53 ` Dmitry Gutov
2023-07-09 9:25 ` Po Lu
2023-07-09 11:14 ` Eli Zaretskii
2023-07-09 11:23 ` Ihor Radchenko
2023-07-09 12:10 ` Po Lu
2023-07-09 13:03 ` Eli Zaretskii
2023-07-08 12:01 ` Ihor Radchenko
2023-07-08 14:45 ` Eli Zaretskii
2023-07-07 0:41 ` Po Lu
2023-07-07 12:42 ` Ihor Radchenko
2023-07-07 13:31 ` Po Lu
2023-07-07 0:27 ` Po Lu
2023-07-07 12:45 ` Ihor Radchenko
2023-07-06 0:27 ` Po Lu
2023-07-06 10:48 ` Ihor Radchenko
2023-07-06 12:15 ` Po Lu
2023-07-06 14:10 ` Eli Zaretskii
2023-07-06 15:09 ` Ihor Radchenko
2023-07-06 15:18 ` Eli Zaretskii
2023-07-06 16:36 ` Ihor Radchenko
2023-07-06 17:53 ` Eli Zaretskii
2023-07-07 0:22 ` Po Lu
2023-07-05 0:33 ` Po Lu
2023-07-05 2:31 ` Eli Zaretskii
2023-07-17 20:43 ` Hugo Thunnissen
2023-07-18 4:51 ` tomas
2023-07-18 5:25 ` Ihor Radchenko
2023-07-18 5:39 ` Po Lu
2023-07-18 5:49 ` Ihor Radchenko
2023-07-18 12:14 ` Hugo Thunnissen
2023-07-18 12:39 ` Async IO and queing process sentinels (was: Concurrency via isolated process/thread) Ihor Radchenko
2023-07-18 12:49 ` Ihor Radchenko
2023-07-18 14:12 ` Async IO and queing process sentinels Michael Albinus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=871qhnr4ty.fsf@localhost \
--to=yantar92@posteo.net \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).