ADC Home > Reference Library > Technical Q&As > Hardware & Drivers > PCI and PC Card >

IOLog and Interrupt Context

Q: The documentation for IOLog says "IOLog should not be called from interrupt context."

How do I know if I'm running in "interrupt context"?

A: The only place in IOKit you need to worry about running at interrupt time is in the Filter function you pass in to IOFilterInterruptEventSource::filterInterruptEventSource.

The Filter function will be called at primary (hardware) interrupt time. At this time very little of the system is available so you cannot call IOLog.

On the other hand, the Action function you passed in when creating the IOFilterInterruptEventSource will run on the workLoop that the event source is attached to, so you could call IOLog in the Action function. Remember, the Action function will only be called if your Filter function returns true.

[Feb 13 2002]

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.