Hrvoje Niksic <hniksic(a)arsdigita.com> writes:
Ben Wing <ben(a)666.com> writes:
> [2] "critical quit" C-Sh-g is supposed to break out of all loops, even
those
> where inhibit-quit is set;
It does break out of inhibit-quit. C-g doesn't break this, but C-Sh-g
does:
(let ((inhibit-quit t))
(while t))
However, delays where slow_down_interrupts is involved, such as
`connect', are *not* broken with C-Sh-g, and that's extremely
annoying. Any way to fix that?
slow_down_interrupts() is not used around connect() anymore. This was
discussed here a while ago and Ben recently made the change:
2001-04-23 Ben Wing <ben(a)xemacs.org>
---------------- process/SIGIO improvements -------------------
* process-unix.c:
don't disable SIGIO and other interrupts unless
CONNECT_NEEDS_SLOWED_INTERRUPTS is defined -- don't penalize OS's
without bugs. similarly for a freebsd bug that was affecting all
OS's.
* s\ultrix.h:
define CONNECT_NEEDS_SLOWED_INTERRUPTS, since that's the OS
mentioned as having a kernel bug.
* sysdep.c (request_sigio_on_device):
* sysdep.c (unrequest_sigio_on_device):
fix SIGIO problems on Linux. add check for O_ASYNC in case it's
defined and FASYNC isn't. add comment about other ways to do
SIGIO on Linux.