comp.lang.ada
 help / color / mirror / Atom feed
From: kcline17@hotmail.com (Kevin Cline)
Subject: Re: rendez-vous underlying mechanism
Date: 10 Apr 2002 10:19:10 -0700
Date: 2002-04-10T17:19:10+00:00	[thread overview]
Message-ID: <ba162549.0204100919.7cfc14dc@posting.google.com> (raw)
In-Reply-To: HgXs8.1415$L95.632339599@newssvr11.news.prodigy.com

"Pat Rogers" <progers@classwide.com> wrote in message news:<HgXs8.1415$L95.632339599@newssvr11.news.prodigy.com>...
> "Kevin Cline" <kcline17@hotmail.com> wrote in message
> news:ba162549.0204080905.24486c34@posting.google.com...
> > Richard Riehle <richard@adaworks.com> wrote in message
>  news:<3CA2A827.11140295@adaworks.com>...
> > > Kevin Cline wrote:
> > >
> > > > "Bozo" <gri_nob@yahoo.com> wrote in message
>  news:<a7pk89$kj4$1@bcarh8ab.ca.nortel.com>...
> > > > > Hi all,
> > > > >
> > > > > I'm sorry I wasn't clear enough.
> > > > > I don't use ADA at the moment but I was a brave ADA programmer once.
> > > > > I use C at the moment and I have a case where synchronous rendez-vous
>  would
> > > > > be better that traditional asynchrounous intertask communications.
> > > > >
> > > > > Does anyone have an idea how to implement that in C with semaphores for
> > > > > example ?
> > > >
> > > > This depends on the underlying OS.  If you are using pthreads,
> > > > then see the manual entry for pthread_cond_wait.
> > >
> > > This approach, of course, does not come close to the capabilities
> > > already built-in to the Ada tasking model.    Ever heard of protected
> > > types.
> >
> > I know that.  However, in a hosted environment, the imperfect
> > mapping between the Ada tasking model and the underlying OS facilities
> > can catch programmers by surprise.
> 
> When was this?  You say that as if it is the current norm -- and it certainly
> was in the 1980's -- but surely not still.  The compilers I know about that
> target Un*x or Linux map tasks directly to the underlying OS's threads, not
> their processes.  The old Verdix compiler did that many years ago (i.e., mapped
> tasks to sprocs).
> 
> > I was certainly surprised
> > when I attempted to create a separate task for I/O but found that
> > all tasks blocked anyway because they were mapped to a single Unix thread.
> > On that implementation Ada multi-tasking was uselsss for solving
> > problems routinely handled with Posix threads.
> 
> Agreed; an undesirable implementation if the option of mapping tasks to Pthreads
> was not available, but that's my point -- that was a given implementation that I
> don't believe is not the norm today.

It doesn't matter much whether it's the norm.  If the language standard
doesn't guarantee any useful semantics then programs that use the
Ada tasking model for the aforementioned purpose are not portable
across compilers.



  reply	other threads:[~2002-04-10 17:19 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-03-25 13:48 rendez-vous underlying mechanism Bozo
2002-03-25 20:09 ` Marin David Condic
2002-03-26  1:44 ` Adrian Hoe
2002-03-26  1:16   ` Jeffrey Creem
2002-03-26  2:05   ` Adrian Hoe
2002-03-26  2:16     ` Jeffrey Creem
2002-03-26  6:04   ` Simon Wright
2002-03-26 10:17     ` Adrian Hoe
2002-03-26  9:31       ` tgingold
2002-03-26 10:40       ` David C. Hoos, Sr.
2002-03-27  1:42       ` Adrian Hoe
     [not found]     ` <a8olf7$enj$3@nntp9.atl.mindspring.net>
2002-04-07  6:44       ` Pascal Obry
2002-04-08  7:48       ` Jean-Pierre Rosen
2002-03-26 10:58 ` Bozo
2002-03-26 14:10   ` Marin David Condic
2002-03-26 14:57   ` Kevin Cline
2002-03-28  5:20     ` Richard Riehle
2002-03-28 15:44       ` Marin David Condic
2002-04-08 17:05       ` Kevin Cline
2002-04-10  7:49         ` Ole-Hjalmar Kristensen
2002-04-10 13:39         ` Pat Rogers
2002-04-10 17:19           ` Kevin Cline [this message]
2002-04-10 17:23             ` Pat Rogers
2002-04-11 11:52               ` Ole-Hjalmar Kristensen
2002-04-11 16:01                 ` Darren New
2002-04-10 17:58             ` Marin David Condic
replies disabled

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