Kbase P126808: Different r-code file not loaded after changing propath at runtime
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  19/11/2009 |
|
Status: Verified
SYMPTOM(s):
Running different external procedures (.r files) with the same file name
Changing propath at runtime to refer to different locations for the .r files
.r files have same file creation timestamp
First external procedure is run instead of new instance in new location
FACT(s) (Environment):
Progress 9.x
OpenEdge 10.x
All Supported Operating Systems
CAUSE:
This is expected behavior.
For performance reasons the client tries to avoid loading .r files unless it really needs to.
In order do to so, whenever a RUN statement is executed for an external procedure it checks if the r-code was already read into memory.
This check is based on 2 criteria: the filename as it appears in the RUN statement, and the timestamp when the file was created.
If these are identical for the file on disk and a procedure currently in memory, the client assumes they are identical and runs the copy in memory instead of (re-)loading the file from disk.
FIX:
Ensure the file creation timestamps for the files involved are different.
This can be done by introducing a pause of at least one second between compiling the different directories.
On UNIX systems, the "touch" command can also be used to change this timestamp.