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

select and EINTR and SIG33



I am running an uptodate FC3 - smp kernel 2.6.11-1.27 on a 3.2Ghz
pentium 4 w/ht.

I have a multi-threaded user app where one thread is doing select() on a
single fd with a timeout of 1/2th second (500ms).  The fd is not
expected to be ready very often - it is the keyboard.  However, testing
shows that select is returning on average every 3.5ms; 99% of the time
RC == -1 and errno == EINTR.  strace shows the select is being
interrupted by `Unknown signal 33'.

I want this thread to be woken up twice a second, not 250+.  I have
other threads doing useful work.

What is SIG33?  I suspect that it has something to do with NPTL.  Can I
block or ignore this signal?  I tried sigfillset() and pthread_sigmask()
but no joy.  Can I change the behaviour of my other threads to affect
the frequency of SIG33?  Can I affect which thread is going to get
SIG33?  Is there a better place to ask this question?

Thanks,
Greg Smith


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