If your code is only reading from a control block structure and you do not 
serialize, there is the danger that other code might serialize and update the 
control block structure in a way that could cause your code to behave 
incorrectly.  I do not know the structure or use of the UCB lookup table (ULUT) 
as used now in z/OS.  But I remember the lookup table scheme in MVT and the 
queue of UCBs that we used to have in between MVT and z/OS.  The other code 
might change the UCB that you have found and are reading-only, in which case 
your code needs to withstand the possibility that any or all of the fields may 
change while you are looking at it.  Possibly a UCB might be deleted, in which 
case even a lookup table can not prevent your code's attempting to accessing 
freshly FREEMAINed storage.  Perhaps even the entire ULUT could be freed and 
replaced with a whole new ULUT at a different virtual address.  Only those who 
have studied the code that accesses the ULUT can know exactly how safe it is to 
use the ULUT without first serializing.

Bill Fairchild
Programmer
Rocket Software
408 Chamberlain Park Lane * Franklin, TN 37069-2526 * USA
t: +1.617.614.4503 *  e: bfairch...@rocketsoftware.com * w: 
www.rocketsoftware.com


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of John Gilmore
Sent: Tuesday, November 13, 2012 3:38 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: "New" way to do UCB lookups

Jim Mulder's point is very well taken indeed.

Traversing a dynamic list without serialization on the assumption that since 
you do not plan to change  it no one else will is a mug's game.

John Gilmore, Ashland, MA 01721 - USA

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to