comp.lang.ada
 help / color / mirror / Atom feed
From: "Jay and Cathy Peterson" <JPeterson@PCBYTE.net>
Subject: Re: VAX Ada Tasks and VMS Lock Manager
Date: 1997/07/22
Date: 1997-07-22T00:00:00+00:00	[thread overview]
Message-ID: <01bc965a$b5135f60$88ecced0@jpeterson> (raw)
In-Reply-To: 1997Jul21.101731.1@eisner




Larry Kilgallen <kilgallen@eisner.decus.org> wrote in article
<1997Jul21.101731.1@eisner>...
> In article <01bc9579$39aaaf40$83ecced0@jpeterson>, "Jay and Cathy
Peterson" <JPeterson@PCBYTE.net> writes:
> 
> > 	I am currently debugging a VAX Ada (v1.5, if it makes a difference)
> 
> They are well beyond V1.5 now, fixing many bugs, so it may matter to you.
> 
> > application which contains roughly four tasks (plus the main task); one
of
> > which is is used to synchronize access to a file. Additionally, I am
using
> > the VMS Lock Manager (VMS version 5.4-2 -- I know; but it is what I
have to
> 
> They are well beyond V5.4-2 now, fixing many bugs, so it may matter to
you.
> 
First, thank you for your response to my query; I appreciate it. 
Next, perhaps some context is in order: The VAX Ada and VMS versions were
included so that, on the off chance Digital significantly changed the
operation of the Ada RTL and (Open)VMS Lock Manager in the intervening
years, you would know where I was coming from. No offense was intended :)
 
 [snipped]

> 
> Regardless of how you access SYS$ENQ, it is important to realize that
> it doesn't have much regard for processes.  You can deadlock a single
> process against itself or a single task against itself with the same
> ease with which you deadlock two processes in deadly embrace.  The
> crucial element of VMS locking is the Lock ID returned by SYS$ENQ[W].
> 
Let me pose my question another way, then, to see if I understand you.
Assume the tasks comprising an application reference the controlled
resource by a common name, use the proper Lock ID, and otherwise play by
the VMS Lock Manager's rules. If Task A queues an "exclusive" lock on the
controlled resource, does it necessarily follow Tasks B, C, D ... are
prevented from accessing (poor choice of words?) that resource until Task A
releases its lock, or does the Ada RTL not support VMS locking between
tasks? Forgive me if I'm being overly obtuse, but this is the point I was
trying to get to :)

[snipped]

> 
> You might do better with the current documentation, even if you have
> the older software.
> 
> Regards,
> Larry Kilgallen
> 
Thank you again for your help,
J. A. Peterson




  reply	other threads:[~1997-07-22  0:00 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <01bc9579$39aaaf40$83ecced0@jpeterson>
1997-07-21  0:00 ` VAX Ada Tasks and VMS Lock Manager Larry Kilgallen
1997-07-22  0:00   ` Jay and Cathy Peterson [this message]
1997-07-22  0:00     ` Larry Kilgallen
1997-07-22  0:00       ` Jay and Cathy Peterson
replies disabled

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