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
next prev 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