I have a multithread application which uses ASYNC IO but is RT signal driven. I have a worker thread which handles all connection and accepts all data that are received. I use SIGRTMIN as the signal to be delivered whenever my socket is ready with data. All my threads block SIGRTMIN including the main thread. In the worker thread I have something like this while (1) { sigwaitinfo (); ... ... ... } I am never able dequeue SIGRTMIN from the pending signal queue from the worker thread. If I do the above in the main thread then I am able dequeue SIGRTMIN from the pending signal queue. Is this a bug in the kernel or is it a feature. I am also attaching a patch along with this email which solves the ASYNC IO problem with RT signals. Thanks, Bharath --- Bharath Ramesh http://csgrad.cs.vt.edu/~bramesh