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=3.8 required=5.0 tests=BAYES_00,INVALID_MSGID, RATWARE_MS_HASH,RATWARE_OUTLOOK_NONAME autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: f7344,e291a4dd07824524 X-Google-Attributes: gidf7344,public X-Google-Thread: 103376,e291a4dd07824524 X-Google-Attributes: gid103376,public From: "Jay and Cathy Peterson" Subject: Re: VAX Ada Tasks and VMS Lock Manager Date: 1997/07/22 Message-ID: <01bc965a$b5135f60$88ecced0@jpeterson>#1/1 X-Deja-AN: 258082586 References: <01bc9579$39aaaf40$83ecced0@jpeterson> <1997Jul21.101731.1@eisner> Organization: (personal) Newsgroups: comp.lang.ada,comp.os.vms Date: 1997-07-22T00:00:00+00:00 List-Id: Larry Kilgallen wrote in article <1997Jul21.101731.1@eisner>... > In article <01bc9579$39aaaf40$83ecced0@jpeterson>, "Jay and Cathy Peterson" 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