comp.lang.ada
 help / color / mirror / Atom feed
From: matthew_heaney@acm.org (Matthew Heaney)
Subject: Re: help about handling interrupts
Date: 1998/04/07
Date: 1998-04-07T00:00:00+00:00	[thread overview]
Message-ID: <matthew_heaney-ya023680000704980822540001@news.ni.net> (raw)
In-Reply-To: dewar.891959182@merv


In article <dewar.891959182@merv>, dewar@merv.cs.nyu.edu (Robert Dewar) wrote:

>Matthew says
>
><<>User processes cannot directly handle interrupts under Linux.
>>If you want to write an interrupt handler yourself, you have to
>>do this in a loadable kernel module. You can write loadable kernel
>>modules in Ada just like you can do this in C. You have to call a
>>kernel function at module load time that registers your Ada
>>procedure as an interrupt handler, and then the Linux kernel
>>will call your Ada procedure whenever this interrupt comes in.
>
>I don't understand this response.
>
>In Ada 95, you attach protected procedure of a protected object to an
>interrupt.  Section 19.6, INTERRUPT HANDLING, in Norm Cohen's book is
>dedicated to this very topic.
>
>No, the OS doesn't make any difference.  The syntax for specifying an
>>>
>
>
>
>And I don't understand Matthew's response. If you take the attitude that
>an interrupt in the RM really means an interrupt (as opposed to some kind
>of operating system signal), then it is perfectly legitimate to reject all
>attempts at attaching interrupt handlers on a system which does not allow
>you to define an interrupt routine in the environment in which you are trying
>to compile (e.g. user mode on NT or Unix).

I think there's a terminology problem.  When the original poster said
"attach an interrupt," I interpreted him to mean "attach a procedure to a
UNIX signal."  I suppose if you're writing a device driver, and you need an
"interrupt service routine (ISR)," then I don't think you can use a
protected object.  But if you mean "UNIX signal," then you can (at least I
hope you can!).




  reply	other threads:[~1998-04-07  0:00 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-04-06  0:00 help about handling interrupts Igor Pascual Sagastagoitia
1998-04-06  0:00 ` Markus Kuhn
1998-04-07  0:00   ` Matthew Heaney
1998-04-07  0:00     ` Robert Dewar
1998-04-07  0:00       ` Matthew Heaney [this message]
1998-04-07  0:00     ` Markus Kuhn
     [not found]       ` <Er1oEK.IDB@world.std.com>
1998-04-07  0:00         ` Markus Kuhn
1998-04-07  0:00           ` Robert Dewar
1998-04-07  0:00   ` Jerry van Dijk
1998-04-07  0:00   ` Samuel Tardieu
1998-04-07  0:00     ` Markus Kuhn
1998-04-07  0:00       ` Robert Dewar
1998-04-08  0:00         ` Dale Stanbrough
1998-04-08  0:00         ` The pain with standards Markus Kuhn
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox