
Adrian Hey wrote:
The first step to solving a problem is to at least recognise that it exists. What is "bizarre" is that so many folk seem to be in denial over this. Perhaps you would like to show me your solution to the "oneShot" problem.
Why are you unable to give a concrete real world example of why this is necessary then. Even your example of real world hardware that must be initialised once fails! (What if I start two copies of the program?) With this example the only satesfactory solution if for the hardware itself to keep track of when it is initialised. If the hardware has a "I have been inititalsed" flag, the init routine would check this flag as its first action and exit should initialisation already have taken place. Any other solution is broken in a multi-threaded environment (or even a single-threaded one in which multiple exexutions of the same program are possible like DOS). Keean.