Signalling a process from a INTR_FAST handler

Peter Jeremy PeterJeremy at optushome.com.au
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);
		PROC_UNLOCK(p);
	}

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