comp.lang.ada
 help / color / mirror / Atom feed
From: "Chad R. Meiners" <crmeiners@hotmail.com>
Subject: Re: tasking with GNAT 3.14p on windows
Date: Mon, 31 Mar 2003 18:44:56 -0500
Date: 2003-03-31T18:44:56-05:00	[thread overview]
Message-ID: <b6ak4m$2auq$1@msunews.cl.msu.edu> (raw)
In-Reply-To: MPG.18f2dca67f9d5139896cd@News.CIS.DFN.DE

oops darn send button.

"Jano" <nono@celes.unizar.es> wrote in message
news:MPG.18f2dca67f9d5139896cd@News.CIS.DFN.DE...

> That's what I wanted to know. I'm not a RM lawyer, so I don't knew that.
> I'll be glad if someone can point the relevant sections in the RM about
> code not abortable.

I believe 9.8 Abort of a Task - Abort of a Sequence of Statements is
relevant but a I recomend reading
"Concurrency in Ada 95" by Burns (I think that is the author's name I can't
remember).

> > The task support on NT is not
> > broken; your understanding of Ada tasking is broken. ;)
>
> ;) As I've said, I'm not an Ada RM expert, but I think I'm not totally
> clueless about how a multitasking program should work, if the compiler
> adheres to annex D, as Gnat says. OTOH, as far as I know, Gnat isn't
> validated under win32.

You would have to contact ACT to get a validated compiler for any platform.

Actually section 9 on tasking is not that bad.  I do not claim to be an RM
expert either ;)  I do however make stabs at the document when I need to
answer a specific question though.

> > It is very easy to
> > write system dependent tasking code.  I have written several robust
> > multi-tasking windows applications.  You just have to understand how to
> > implement your os calls so that they play well with tasking.
>
> I've also written multitasking window apps, and I don't like the tricks
> you must do to workaround some NT limitations, and that's about I was
> asking. One of the points of using Ada is to remain as much as possible
> in the system independent side of the world ;-)

hmm.  I think I miscommunicated my point.  First, writing operating system
independent multi-tasking program is not obvious since tasking is often
misunderstood.  For example an common error is placing potentially blocking
system calls (such as file IO) within a protected action.  On most compilers
however wrapping your put_lines in a protected object does not cause any
problems, but some compilers might be able to detect that a blocking call is
being made at runtime and raise a Program_Error exception.  Care needs to
taken to implement a multi-tasking program in a way that its OS calls are
properly syncronized with the tasking system reguardless of the OS or
compiler

btw, what workarounds are you refering to?

> > > Also, the faulty ceiling_priority model for protected objects is
> > > mentioned or not? I can't remember...
> >
> > If you don't know then why are spreading FUD about tasking on NT?
>
> Well, I was thinking out loud to see if someone shares my concerns. I
> like to be enlightened by others greater experience. I have nothing
> against Gnat nor intend to spread FUD.

That's okay.  I misunderstood the context that you meant for your statements
;)  I've never looked at Annex D so I can't answer your questions on it.

-CRM





  parent reply	other threads:[~2003-03-31 23:44 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-03-30 18:49 tasking with GNAT 3.14p on windows Bernd Specht
2003-03-30 20:19 ` James S. Rogers
2003-03-30 22:14   ` Jano
2003-03-31  2:53     ` James S. Rogers
2003-03-31  6:32       ` James S. Rogers
2003-03-31  6:56       ` Sergey Koshcheyev
2003-03-31  9:00         ` 
2003-03-31 19:09       ` Bernd Specht
2003-03-31 18:14     ` Chad R. Meiners
2003-03-31 21:08       ` Jano
2003-03-31  7:57 ` 
2003-03-31  9:30   ` Ole-Hjalmar Kristensen
2003-03-31 17:58     ` Jano
2003-03-31 18:30       ` Chad R. Meiners
2003-03-31 22:16         ` Jano
2003-03-31 23:09           ` Chad R. Meiners
2003-03-31 23:44           ` Chad R. Meiners [this message]
2003-04-01 12:17             ` Jano
2003-04-01  2:40         ` Robert A Duff
2003-04-01  4:17           ` Chad R. Meiners
2003-04-01  6:25             ` Jano
2003-04-01 15:33               ` Pascal Obry
2003-04-01  8:42           ` Dmitry A. Kazakov
2003-04-02 13:35             ` Alfred Hilscher
replies disabled

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