If you haven't changed the data or conceivably the environment, retrying the 
instruction will get the same result.
That shouldn't be a surprise. If you were to try, you'd likely have to decipher 
the instruction so that you could figure out what data and/or regs it was using 
and make sure to change something for "the next time".

I believe long ago it used to be the case that the PL/I compiler (this was 
before "C" was anything more than the 3rd letter of the alphabet), would get 
control for a page fault or segment fault on data that it knew about, set up 
the data so that a retry of the instruction would work, and do so.
Thinking about this now, we have no idea how it could do that in a predictable 
way (since it would get control for "normal" page faults too).

Of course, the architecture accommodates and allows retrying the instruction. 
That is used by the system when (for example) a page fault occurs. The system 
stops the work unit, asynchronously pages in the page (when the page actually 
was valid but paged out) and resets the work unit to re-execute the 
instruction. And the program old PSW's instruction address for a page fault 
doesn't even need to be backed up to get to the right place to re-execute.

Peter Relson
z/OS Core Technology Design


----------------------------------------------------------------------
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