When several devices share an interrupt, the handler examines each device's pending status and acknowledges every active source. Separate tests allow simultaneous requests to be serviced. A source becoming pending during the scan must cause another interrupt or be found by a justified rescan; the necessary behaviour depends on the interrupt controller and device protocol.