Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Feb 2005 16:42:51 +1100
From:      Peter Jeremy <PeterJeremy@optushome.com.au>
To:        freebsd-hackers@freebsd.org
Subject:   Signalling a process from a INTR_FAST handler
Message-ID:  <20050220054251.GB28983@cirb503493.alcatel.com.au>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050220054251.GB28983>