[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: call-process should not block process filters from running
From: |
Po Lu |
Subject: |
Re: call-process should not block process filters from running |
Date: |
Wed, 28 Jun 2023 19:56:11 +0800 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Spencer Baugh <sbaugh@janestreet.com> writes:
> When Lisp code calls call-process, then while call-process is running,
> all Lisp is blocked from running, including process filters and timers
> created beforehand by other Lisp. This call-process behavior is
> harmful, but we can fix call-process to not behave this way.
>
> This call-process behavior is harmful:
> Many packages rely on their process filters and timers being able to
> run:
> - Packages which communicate over the network (such as ERC)
> rely on being able to respond to heartbeats and prevent timeouts.
> - Packages which respond to requests from other programs (such as EXWM)
> rely on being able to respond to those requests.
> A simple (shell-command "sleep 60") will cause most such packages to
> break or behave poorly.
Have you considered that many programs may conversely rely on the fact
that call-process can not run Lisp through selection converters or
process filters?