RT signal leak? (was: Re: RT signal queues)

Dan Kegel (dank@alumni.caltech.edu)
Wed, 24 Nov 1999 22:46:24 -0800


Don Howard wrote:
> While attempting to debug my process, I've found myself
> filling the rt signal queue (nr_queued_signal==max_queued_signals).
>
> I would expect this problem to correct itself when the
> offending process terminates (I got the impression that
> flush_signals() was called at process exit time). This
> evidently does not happen or more likely, it doesn't happen
> if the process crashes.
>
> > but if you momentarily set the signal handler to SIG_IGN, that should
> > flush the queue. See http://x36.deja.com/getdoc.xp?AN=526480649
>
> It looks like do_sigaction() does the same traversal of the rt
> queue that flush_signals() does, so you are right. This
> doesn't help me in the case of a process that crashes with signals
> pending though.

Can you write a simple program to demonstrate the leak --
presumably it's as simple as creating a process, having it
send itself a bunch of rt signals, then terminate itself
in some manner without picking up the signals.

- Dan

-- 
(The above is just my personal opinion; I don't speak for my employer,
 except on the occasional talk show.)

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/