From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,15410c804d3d9da2 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2001-08-04 05:21:41 PST Path: archiver1.google.com!newsfeed.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed1.cidera.com!cyclone1.gnilink.net!news-east.rr.com!chnws02.mediaone.net!chnws06.ne.mediaone.net!24.128.8.70!typhoon.ne.mediaone.net.POSTED!not-for-mail From: "Jeff Creem" Newsgroups: comp.lang.ada References: <_NAa7.3833$tQ5.1459602@news2-win.server.ntlworld.com> <7xhevpm105.fsf@balboa.dia.fi.upm.es> Subject: Re: Can any one shed some light on this problem. X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Message-ID: Date: Sat, 04 Aug 2001 12:21:39 GMT NNTP-Posting-Host: 24.147.117.96 X-Complaints-To: abuse@mediaone.net X-Trace: typhoon.ne.mediaone.net 996927699 24.147.117.96 (Sat, 04 Aug 2001 08:21:39 EDT) NNTP-Posting-Date: Sat, 04 Aug 2001 08:21:39 EDT Organization: Road Runner Xref: archiver1.google.com comp.lang.ada:11290 Date: 2001-08-04T12:21:39+00:00 List-Id: ----- Original Message ----- > > > > I have bean asked to examine the synchronization mechanism > > > (rendez-vous) which is promoted by ADA and contrast this to the > > > Dijkstra's (p/v) wait and signal mechanism. > > > > I'm afraid I can't say much on this, someone else might be able to help. > > With a protected object you can *very easily* code a semaphore. > Probably only of interest for educational purposes and toy programs. > Actually using a protected object to code a semaphore is also very useful for creating portable semaphore packages to replace vendor specific packages. In Ada 83 it was somewhat common for people to use some sort of semaphore package (either vendor specific or tied to the OS services) for signaling and/or mutual exclusion since the only built in language feature for this was the rendevous. I know of a 150K+ line of code Ada 83 project that was originally built for vxWorks with a project specific semi-thick binding on top of vxWorks semaphores that was ported to run as a simulation on an SGI (should work anywhere now) by replacing the body of the semaphore package with a protected object based implementation.