On 11/14/2012 2:33 AM, Sam Golob wrote:
     Somebody please enlighten me.  If you're trying to scratch a
dataset on a pack, and somebody else is in the middle of doing an IODF
change at the time, what is the difference if you are obtaining a copy
of the UCB (to determine what's on the disk pack), or the real UCB
itself?  I'm not expecting a complete answer from somebody, but I'd at
least like a reference to a manual or manuals where the perspective and
advantages/disadvantages of copied, (and captured) UCB's is explained,
as opposed to the real UCB's.  I want to read about it.  Please show me
where.

The general problem for traditional chains, each member linking to the next, is that the link address may become invalid if your task is preempted by one deleting the element matching your link. For scratch and all system services, proper serialization is provided (or APARable), so a problem is not likely.

I have no idea what the current system does (last tried UCB chains on OS/390), but in the case of an IODF change, any address you have may become invalid, or give erroneous results. A copied UCB gives you the information for that device, but isn't persistent over an IODF change unless locked (or otherwise protected); and if you can lock the UCB, you don't need a copy?

I disagree with Mr. Gilmore's general assertion that serialization is required. For a mission critical application, I would expect code that rigorously follows all of IBM's recommended practices. But for quick and dirty applications it's more efficient to test for and recover from errors either by programming, or by letting the user scratch his/her head and try the request again. I have an application that has been in use since the late sixties; one of its attractions is code that minimizes the use of system services, thus allowing recovery from system hangs and other funnies.

Gerhard Postpischil
Bradford, Vermont

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to