comp.lang.ada
 help / color / mirror / Atom feed
From: Matthew Heaney <matthew_heaney@acm.org>
Subject: Re: Signals from ethernet card driver
Date: 1999/04/30
Date: 1999-04-30T00:00:00+00:00	[thread overview]
Message-ID: <m3yajar74r.fsf@mheaney.ni.net> (raw)
In-Reply-To: 3728E864.C1BAB081@res.raytheon.com

askeya <askeya@res.raytheon.com> writes:

> I am trying to get a driver to signal my Ada program when a TCP/IP
> message arrives over an ethernet on a Sun running Solaris 2.7.  It would
> be great if the signal would act as a task rendezvous.  I have done this
> on a VAX with VMS using Starlet, but don't have a clue if it can be done
> on a Sun with Solaris.
> 
> First question: can the driver send a signal when a message arrives?

I'm not very driver-literate, but does the client do the I/O using a
file descriptor?  Won't SIGIO (SIGPOLL) work?

> Second question:  In theory, can I receive that signal in my program?

Try declaring an interrupt handler to catch the signal SIGIO (SIGPOLL).  

> Third question (if you feel ambitious): In general, how?

In Ada95, you declare an interrupt handler as a protected procedure, and
bind it to a signal via pragma Interrupt_Handler.

Although it's officially obsolescent, you can also bind an interrupt
handler to a task entry.









  reply	other threads:[~1999-04-30  0:00 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-04-29  0:00 Signals from ethernet card driver askeya
1999-04-30  0:00 ` Matthew Heaney [this message]
1999-05-03  0:00   ` Vincent P. Amiot
1999-05-07  0:00     ` askeya
1999-04-30  0:00 ` dennison
1999-04-30  0:00   ` Larry Kilgallen
1999-04-30  0:00 ` askeya
1999-04-30  0:00 ` Tarjei Tj�stheim Jensen
1999-05-27  0:00 ` Vincent Amiot
replies disabled

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