[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] posix_spawn blocks SIGCHLD in spawned processes
From: |
Robert Pluim |
Subject: |
Re: [PATCH] posix_spawn blocks SIGCHLD in spawned processes |
Date: |
Fri, 04 Mar 2022 17:08:54 +0100 |
>>>>> On Fri, 04 Mar 2022 16:41:15 +0100, Jürgen Hötzel <juergen@hoetzel.info>
>>>>> said:
Jürgen> Robert Pluim <rpluim@gmail.com> writes:
>>>>>>> On Fri, 04 Mar 2022 09:38:25 +0100, Jürgen Hötzel
<juergen@hoetzel.info> said:
Jürgen> IMO the correct way to fix this issue is to use the oldset passed by
Jürgen> emacs_spawn (patch enclosed) just like the fork/exec implementation
does.
>>
>> Sure, that would work as well.
>>
Jürgen> I guess without a fix many forking commands (that don't examine and
Jürgen> change mask of blocked signals) will "hang" in Emacs.
>>
>> Not really. Itʼs a code path thatʼs non-default, since
>> process-connection-type defaults to t => use pty's, and the command in
Jürgen> ‘call-process’ invokes emacs_spawn 'call-process' with pty set to
NULL
Jürgen> so ‘process-connection-type’ doesn't have an effect here.
Yes. And this change to use emacs_spawn has been in master for a
while, and we've had exactly one complaint, which leads me to suspect
that either people donʼt `call-process' processes that are affected by
the incorrect SIGCHLD handling, or that `make-process' is mostly used
with the default setting of `process-connection-type'.
Robert
--