>>>>> "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