Kbase P98336: What are the rules that govern how standard and memory-mapped libraries interact with PROPATH during
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  01/12/2004 |
|
Status: Unverified
GOAL:
What are the rules that govern how standard and memory-mapped libraries interact with PROPATH during a Progress session?
FIX:
The following rules govern how standard and memory-mapped libraries interact with PROPATH during a Progress session:
The first time you run a member procedure from a standard or memory-mapped library that is specified in the PROPATH, Progress locates the procedure by searching through each directory and library in the PROPATH until it finds the procedure. To search a library for a member procedure, Progress must open the library. When Progress opens a standard library, it loads the procedure into local memory. When Progress opens a memory-mapped library, it maps the library in shared memory.
When searching through directories and libraries in the PROPATH, Progress starts at the beginning of the PROPATH and searches each directory and library, in defined order, until it finds the procedure. Thus, placing the library at the beginning of the PROPATH improves performance.
A library remains open until the end of your Progress session or until you remove the library from the PROPATH. If you remove a library from the PROPATH while a member procedure is still active (either running, or waiting for a subprocedure to return), Progress displays an error message and the library remains open until you end your Progress session. Otherwise, Progress closes a standard library and unmaps a memory-mapped library.
If you use a SEARCH or RUN statement to open a library that is not in the PROPATH, the library remains open until you end your Progress session.
If you use libraries, Progress accesses r-code files as if you had specified the Quick Request (-q) startup parameter. That is, Progress searches the PROPATH only on the first reference to a procedure. Thereafter, if the procedure still resides in memory, in the local session compile file, or in an r-code library, Progress reuses the procedure instead of searching the PROPATH again. For more information about the Quick Request (-q) startup parameter, see the Progress Startup Command and Parameter Reference.
To ensure that all users access the same memory-mapped library in shared memory, each user must place the library in their PROPATH using the same library pathname. For more information about running procedures from a library, see the "Running Procedures from a Library" section earlier in this chapter.