At 8:47 AM -0500 on 7/27/10, Paul Gilmartin wrote about Re: remove()
of PDSE member leaves PDS locked:
remove() upgrades this to EXC (bad design of C RTL; as you say, SAS
(RIP) does better). Then there's no way to downgrade it to SHR (bad
design of GRS).
I agree with you about the bad design that does not allow an EXC to
be downgraded to a SHR. I fail to see why it is not allowed. The EXC
is the first entry in the queue and may be followed by another EXC
request or SHR requests in a wait state. Right now if I do the DEQ of
the EXC it is removed and the waiting ENQs are taken out of wait
status in queued order until an EXC request is found or the queue is
exhausted. What is so hard (or dangerous) about just altering the
status of the EXC to SHR and then running the same code as the DEQ
(after first checking if the second entry is a SHR request [if it is
an EXC do not run the code])?
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html