emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Dynamic modules: MODULE_HANDLE_SIGNALS etc.


From: Daniel Colascione
Subject: Re: Dynamic modules: MODULE_HANDLE_SIGNALS etc.
Date: Mon, 4 Jan 2016 07:40:48 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0

On 01/04/2016 07:38 AM, Eli Zaretskii wrote:
>> From: Daniel Colascione <address@hidden>
>> Date: Sun, 3 Jan 2016 15:22:48 -0800
>>
>> The quick and dirty fix for Fdo_auto_save is to run
>> Fdo_auto_save in a forked child
> 
> Forking a child from a damaged parent is likely to leave us with the
> same problem in the child.  Also, if the original session uses up a
> lot of memory, the fork could simply fail.  (You later suggested a
> vfork + exec, but that doesn't allow auto-saving from the child,
> AFAIU.)

The idea is that we can wait a bounded amount of time for the child,
then kill it if it misbehaves. This way, we at least won't deadlock
(although the child might). The reason I suggested vfork is that glibc
(the quality of which continues to disappoint me) doesn't provide an
async-signal-safe fork. With the scheme I proposed, we don't *need* an
async-signal-safe fork, since we can perform the entire emergency save
operation inside the signal handler, without invoking lisp. We'd just
vfork and exec to ask the user what we want to do, which is an optional
process.

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]