Although you seem to have solved your problems through a different library, I think
it would be worthwhile to step through unrequest_sigio() and see what functions are
actually being called to affect the SIGIO signal. It's quite possible that
something is indeed wrong here and needs fixing. If so, it's going to affect lots
of places, and presumably all RedHat 6.0 users, and definitely needs to be fixed.
If you can't figure out what's going on, at least put in a #### comment in the
right place indicating that this function apparently doesn't do its job on RH 6.0,
which could lead to a lot of strange results.
ben
Oscar Figueiredo wrote:
>>>>> "Jan" == Jan Vroonhof
<vroonhof(a)math.ethz.ch> writes:
Jan> Oscar Figueiredo <Oscar.Figueiredo(a)di.epfl.ch> writes:
>> surrounded by {slow_down,speed_up}_interrupts. I even tried
>> `stop_interrupts> and `start_interrupts' with no success. I can't
>> understand why it works for searches (which also call `ldap_result') and
>> not for addition and deletion.
Jan> That could just be some timing issue. It could also be that there is a
Jan> file descriptor involved that unrequest_sigio doesn't know about.
>> I'd appreciate very much some help from someone knowledgeable in
>> this area.
Jan> Could you check with strace or truss which signal is interrupting the
Jan> syscal?
>From what I saw in DDD, it's a SIGIO. I have been investigating the problem a
little further since my last post and it appears that `slow_down_interrupts'
does not disable SIGIO correctly at least on RedHat 6.0 Linux.
Adding a pair of EMACS_{UN}BLOCK_SIGNAL (SIGIO); around calls to `ldap_result'
solves the problem. Therefore I believe `unrequest_sigio' (called from
`slow_down_interrupts') is not doing its job correctly.
Oscar
------------------------------------------------------------------------
Part 1.2 Type: application/pgp-signature
Encoding: 7bit