Re: Using "Asynchronous Notifications" within an interrupt handler

From: Madhu Saravana Sibi Govindan
Date: Fri Oct 06 2006 - 13:10:34 EST


Thanks for the information.

I have another quick question: my device driver can expect up to 4
different interrupts (from 4 hardware devices). Can I send a posix
real-time signal (SIGRTMIN) using the kill_async interface and expect
the kernel to queue these signals for delievery to the sleeping
process? (Because if I use SIGIO it is possible that an incoming
interrupt is lost because the kernel doesn't queue up normal signals,
right?).

Thanks,
G.Sibi

On 10/6/06, Jan Engelhardt <jengelh@xxxxxxxxxxxxxxx> wrote:
>
> My question is: is it safe to use the asynchronous notification
> mechanism within an interrupt handler? I see that this call acquires a
> bunch of locks before sending the signal to the process. Would this
> cause any deadlocking situations? Or should I resort to the top and
> bottom half approach for interrupt handling and handle the
> notification in the bottom half?

It may be possible - I have an old driver for custom hardware lying
around here, and it does this in the irq handler:

kill_fasync(&global.fasync_ptr, SIGIO, POLL_IN);



-`J'
--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/