[Top][All Lists]

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


From: Stefan Monnier
Subject: Re: BLOCK_INPUT on Mac OS X
Date: Wed, 08 Sep 2004 08:56:29 -0400
User-agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3.50 (gnu/linux)

>> Can you try the patch below?  Beware, IIRC, if emacs_read is ever
>> called somewhere where BLOCK_INPUT is set, this could introduce
>> other problems.

> It didn't work for me on both Mac OS X and GNU/Linux.  Actually,
> `read', which has not received any data, is silently restarted after
> processing a signal because:

>   1. That's a default behavior in BSD systems. (Mac OS X)
>   2. SA_RESTART is set in `sys_signal' if POSIX_SIGNALS is
>      defined. (GNU/Linux)

Duh!  I guess we'd need to unset SA_RESTART when we use SYNC_INPUT.

> If SA_RESTART is not set in `sys_signal', synchronous processes can be
> quit on GNU/Linux (with your patch).  But that breaks "Emacs mostly
> works better with restartable system services" (from a comment in
> `sys_signal').

I'm curious what this comment refers to.  Anybody remembers what are the
problems with non-restartable system services?  Is it possible that those
problems are not applicable in the case where we use SYNC_INPUT
(i.e. when we keep signal handlers to the strict minimum)?


reply via email to

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