Subject: bug#46494: 28.0.50; [native-comp] Problems with async background compile

From: Andrea Corallo <[email-masked]>
Date: Sun, 14 Feb 2021 18:28:02 +0000

Eli Zaretskii <[email-masked]> writes:

>> Cc: [email-masked]
>> Date: Sun, 14 Feb 2021 08:01:59 +0000
>> From:  Andrea Corallo via "Bug reports for GNU Emacs,
>>  the Swiss army knife of text editors" <[email-masked]>
>> 
>> > c) Quitting emacs when async compilation processes are running sometimes
>> >    causes crashes in the compile processes, which show the emacs abort
>> >    dialog (once for each async process). The dialogs disappear after a
>> >    short delay (presumably due to the parent emacs having exited).
>> 
>> Mmmh, I guess this is a Windows specific behavior.  Is there a specific
>> way to shut-down child processes we would use on Windows not to get
>> this error?
>
> Andrea, can you point me to the place where we interrupt async
> compilations when Emacs exits?  Is that just a normal delete-process,
> or do we do something else, like sending a signal?  Also, does the
> Emacs subprocess invoked to perform async compilation spawn further
> child processes, or is everything happening inside a single Emacs
> process?

Hi Eli,

we have no special handling for closing async compilation processes,
they should be closed as all child processes started by Emacs are.

In the child process we do not spawn directly any other process, but
libgccjit might do it (ex to call gas).

Thanks

  Andrea