Sam Golob and I assess some risks differently.

The American military in Iraq and Afghanistan have built elaborate
protective screens well above their major buildings.  These screens
are designed to detonate mortar shells fired at the roofs of these
buildings before they land on them.

I have not elected to screen my own house in this way; equally, I have
not reinforced its roof against purple cows falling from the sky; I
have judged that these two risks are exiguous here in Massachusetts.

If the house were in Kabul I should perhaps make a different judgment,
at least about the mortar shells.  All risk assessments are and must
be situational.

Consider now two dispatchables, T and U.  If T attempts to traverse a
list while U is updating it---adding an element to or deleting one
from that list---two unfortunate events may well occur, are certain to
occur in that long run in which we shall all be dead.  The first is
that T will traverse only a portion of the list uneventfully, and the
second is that T will end up in storage that is not a part of the
list, with ABEND the likely result.

Serialization was invented to address this class of problems.  We can
make programs reentrant.  Control blocks, on the other hand, are and
will remain serially reusable.  A minimal requirement for their
integrity is that two dispatchables not access one of them
concurrently.

None of this is very controversial in general, but different people
are all but certain to assess risks differently in different
particular cases.  My view is that we are dealing here with well
understood risks that are entirely avoidable and that there is thus no
excuse for incurring them.

John Gilmore, Ashland, MA 01721 - USA

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

Reply via email to