From: Philipp Stephani <p.stephani2@gmail.com>
To: Michael Albinus <michael.albinus@gmx.de>
Cc: Emacs developers <emacs-devel@gnu.org>
Subject: Re: Remote asynchronous processes
Date: Tue, 4 Aug 2020 18:56:48 +0200 [thread overview]
Message-ID: <CAArVCkTapFZohyguUF8zzj76EWJk20BYw10uhegfO2xPwUWt2w@mail.gmail.com> (raw)
In-Reply-To: <87sgh6zbfo.fsf@gmx.de>
Am Di., 14. Apr. 2020 um 11:03 Uhr schrieb Michael Albinus
<michael.albinus@gmx.de>:
> Philipp Stephani has shown some figures in the discussion
> mentioned above. Maybe he can explain more detailed which kind of
> performance requirements he has in mind, and the use case(s).
There are lots of different use cases. The broadest category that I
can think of is "processes started in the background to improve the
editing experience." This includes things like M-x compile, the VC
operations, etc. The immediate trigger for my request, however, was
Flymake. Flymake wants to start backends frequently and at arbitrary
times during editing. So starting (not completing!) a backend can't
block for more than a few milliseconds, as that would lead to
unacceptable editing disruptions. This immediately rules out anything
calling call-process, accept-process-output, sleep-for, etc., or
anything else that calls pselect. Remote Flymake backends are really
only possible using the suggested approach. Lots of other use cases
can benefit from it, too.
In summary, the basic requirement is "make-process must reliably
return within a few milliseconds."
>
> However, we will loose features of remote asynchronous processes. At
> least (and not comprehensive), processes started via make-process
>
> - are not checked for passwords or other interactive dialogues
> - do not not support multi-hops anymore
> - cannot be killed via interrupt-process (??? I'm not sure)
> - do not tell the remote tty
> - ...
These are typically irrelevant for the editing use cases I have in
mind. In particular, starting a Flymake backend couldn't ever prompt
the user; any prompt should be converted into a silent failure.
next prev parent reply other threads:[~2020-08-04 16:56 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-13 10:19 Remote asynchronous processes Michael Albinus
2020-04-13 20:32 ` Philippe Vaucher
2020-04-14 9:03 ` Michael Albinus
2020-04-14 12:34 ` Philippe Vaucher
2020-04-14 14:28 ` Michael Albinus
2020-08-04 17:00 ` Philipp Stephani
2020-04-14 14:48 ` Stefan Monnier
2020-04-14 15:30 ` Michael Albinus
2020-08-04 17:01 ` Philipp Stephani
2020-08-04 16:56 ` Philipp Stephani [this message]
2020-08-04 17:35 ` Michael Albinus
2020-08-10 14:42 ` Philipp Stephani
2020-05-06 11:59 ` Michael Albinus
2020-08-04 16:48 ` Philipp Stephani
2020-08-04 17:31 ` Michael Albinus
2020-08-10 14:56 ` Philipp Stephani
-- strict thread matches above, loose matches on Subject: below --
2020-07-29 16:58 Felipe Lema
2020-07-31 10:22 ` Michael Albinus
2020-08-04 12:27 ` Michael Albinus
2020-08-04 16:06 ` Felipe Lema
2020-08-06 19:08 ` Sean Whitton
2020-08-09 7:22 ` Michael Albinus
2020-08-09 14:47 ` Philipp Stephani
2020-08-09 17:06 ` Michael Albinus
2020-08-12 10:46 ` Michael Albinus
2020-08-21 22:28 ` Sean Whitton
2020-08-07 16:28 ` Philipp Stephani
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAArVCkTapFZohyguUF8zzj76EWJk20BYw10uhegfO2xPwUWt2w@mail.gmail.com \
--to=p.stephani2@gmail.com \
--cc=emacs-devel@gnu.org \
--cc=michael.albinus@gmx.de \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.