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
