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

Reply via email to