Non-reentrancy can be the answer.

Gil asked a great question about DELETE for non-reentrant. Since the input 
to DELETE is just the module name, the copy to be deleted is chosen 
according to some fairly simple "rule" (such as "I will delete the most 
recently module of this name loaded from this task that meets the 
authorization requirements") rather than any real understanding. (You 
cannot DELETE something LOADed from a different task.)

Nit: The OP used the terms "if a program of that name is already in 
storage" and also "Specifically, if program FOO is running". The former is 
what I'd view as correct (especially if we add "by some CSV approach that 
creates a CDE", so not load-with-addr). One never knows if a program is 
actually "running".

It comes down to whether the search for a usable copy on the job pack 
queue succeeds. In order to be usable, it must have the same name and be 
reentrant. In some cases there might be additional criteria.

Peter Relson
z/OS Core Technology Design

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

Reply via email to