comp.lang.ada
 help / color / mirror / Atom feed
From: "REH" <spamjunk@stny.rr.com>
Subject: Re: Simulating OS semaphore behavior
Date: 25 Aug 2006 08:25:13 -0700
Date: 2006-08-25T08:25:13-07:00	[thread overview]
Message-ID: <1156519513.574708.107940@m73g2000cwd.googlegroups.com> (raw)
In-Reply-To: <3zrqu2whdwk2.1fobni2jyzalh.dlg@40tude.net>


Dmitry A. Kazakov wrote:
> That looks like a classic automatic event for multiple tasks. Make Signal
> an entry:
>
>    protected body Event is
>       entry Wait when Signal'Count > 0 is
>       begin
>          null;
>       end Wait;
>       entry Signal when Wait'Count = 0 is
>       begin
>          null;
>       end Signal;
>    end Event;
>
> Signal is blocked until all waiting tasks get released. There is no race
> condition because fresh attempts to Wait are blocked if a signal is
> pending.
> 

Ah, just what I love: simple and elegant.  Thank you!

REH




  reply	other threads:[~2006-08-25 15:25 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-25 15:00 Simulating OS semaphore behavior REH
2006-08-25 15:09 ` Dmitry A. Kazakov
2006-08-25 15:25   ` REH [this message]
2006-08-25 17:31   ` Jean-Pierre Rosen
2006-08-26  8:39     ` Dmitry A. Kazakov
2006-08-26 13:34       ` REH
2006-08-26 13:42         ` jimmaureenrogers
2006-08-27 14:00           ` Simon Wright
2006-08-26 20:18         ` Dmitry A. Kazakov
2006-08-26 20:29           ` REH
2006-08-27 17:07             ` Dmitry A. Kazakov
2006-08-27 18:02             ` Simon Wright
2006-08-27 22:28               ` REH
  -- strict thread matches above, loose matches on Subject: below --
2006-08-31 16:24 Anh Vo
replies disabled

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