From: David Holm <david@realityrift.com>
Subject: Re: Linux Calls
Date: Fri, 01 Aug 2003 05:32:42 GMT
Date: 2003-08-01T05:32:42+00:00 [thread overview]
Message-ID: <20030801073231.3b2c0a11.david@realityrift.com> (raw)
In-Reply-To: x7vel064hwm.fsf@smaug.pushface.org
On 31 Jul 2003 20:26:17 +0100
Simon Wright <simon@pushface.org> wrote:
> "Jeremy Smith" <jeremy.t.smith@mindspring.com> writes:
>
> > I have two tasks, built using gnat 3.13p, running under Linux, Red Hat 8.
> > The idea was to have one task processing and performing cyclic tasks
> > continuously while the other task waits for commands and responds to them
> > right away. To accomplish this I am want to run the command receipt task at
> > a higher priority than the continuous processing task. My problem is that
> > the commands are coming over an IPC message queue, so when the command
> > receipt task calls msgget (visible via pragma Import) it blocks but does it
> > outside the Ada RTS. The continuous processing task never gains context
> > because the Ada RTS doesn't know the command receipt task has blocked
> > pending receipt of the next command.
> >
> > Anybody know a way to wrap a blocking OS call so that the other lower
> > priority Ada tasks can play until it returns?
>
> It sounds as though you're using the "fsu" version of the runtime
> system - you need the version that uses native threads. On recent
> editions of GNAT, & I'm pretty sure on 3.13p, you get a choice between
> fsu & native; check out the installation instructions. (as far as I
> can remember, it involves switching the symlinks for adainclude,
> adalib in ...lib/gcc-lib/i686-pc-linux-gnu/2.8.1/ .
>
> The binary I have is called gnat-3.13p-i686-pc-linux-gnu-bin.tar.gz
At least with 3.14p and 3.15p you can select the run-time system with --RTS=fsu/native when you
call gnatmake och gnatgcc.
//David Holm
prev parent reply other threads:[~2003-08-01 5:32 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-07-31 0:05 Linux Calls Jeremy Smith
2003-07-31 19:26 ` Simon Wright
2003-08-01 5:32 ` David Holm [this message]
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox