Signalling a process from a INTR_FAST handler

Peter Jeremy PeterJeremy at
Sat Feb 19 21:42:55 PST 2005

I have a hardware interrupt handler that has to forward a signal to
userland and that I'd like to mark INTR_FAST.  AFAIK, the normal way
to forward a signal is:
	if ((p = pfind(sc->pid_to_signal)) != NULL) {
		psignal(p, SIGUSR2);

But pfind(9) does a PROC_LOCK() which implies it can sleep and therefore
can't be used by an INTR_FAST handler.

Firstly, am I correct?  If so, is there an alternative approach I can use?

Peter Jeremy

More information about the freebsd-hackers mailing list