Well, I can't see any reason why your proposal wouldn't work.
So, why don't you either
(a) Implement this simple change and see if it works, fixes problems, causes problems,
etc.
or
(b) Put in a #### comment indicating that someone should do this.
Oscar Figueiredo wrote:
>>>>> "Ben" == Ben Wing <ben(a)666.com>
writes:
Ben> Although you seem to have solved your problems through a different library, I
think
Ben> it would be worthwhile to step through unrequest_sigio() and see what functions
are
Ben> actually being called to affect the SIGIO signal. It's quite possible
that
Ben> something is indeed wrong here and needs fixing. If so, it's going to
affect lots
Ben> of places, and presumably all RedHat 6.0 users, and definitely needs to be
fixed.
Ben> If you can't figure out what's going on, at least put in a #### comment
in the
Ben> right place indicating that this function apparently doesn't do its job on
RH 6.0,
Ben> which could lead to a lot of strange results.
Ben> ben
I made some more tests. The function `emacs_sleep' appears not to be working
for me. strace confirms that it is interrupted by a series of SIGIO signals.
The debugger shows that the function `unrequest_sigio_on_device' is executed
properly for a series of devices. Apparently a few are missing from the loop.
I made the same test with xemacs -nw and the problem does not show up in that
case. The guilty device(s) seem therefore to be X-related.
I have no idea how to trace the SIGIOs back to the device(s) that generated
them.
I wonder, in the function `stop_interrupts', instead of calling unrequest_sigio
which disables SIGIO on each device one by one, wouldn't it be faster and safer
to simply disable SIGIO as a whole with a call to EMACS_BLOCK_SIGNAL (SIGIO) ?
Oscar
------------------------------------------------------------------------
Part 1.2 Type: application/pgp-signature
Encoding: 7bit