AEF wrote:
> On Jan 3, 6:33 pm, John Santos wrote:
>
>>AEF wrote:
>>
>>>On Jan 2, 9:44 pm, D Gillbilly wrote:

>>
>>>>On 2 Jan 2008 07:53:53 -0600, koeh...@eisner.nospam.encompasserve.org (Bob

>>
>>>>Koehler) wrote:

>>
>>>>>In article , AEF writes:

>>
>>>>>>When you INSTALL an executable as a shared image, can it be any
>>>>>>executable? I once discussed this with my developer for a program run
>>>>>>by multiple traders and he said we'd have to check for traders
>>>>>>stepping on each other, so to speak. So my question is: Doesn't VMS
>>>>>>automatically provide each process running shared executable its own
>>>>>>private data area in memory or does the program have to be explicitly
>>>>>>written with the assumption that it will be installed shared?

>>
>>>>> Each image is broken up into program sections (PSECTs). PSECTs can
>>>>> be read only, writeable, shareable, ...

>>
>>>>> You need to look at the LINK map

>>
>>>> I once installed an image with one psect incorrectly marked as SHR.
>>>> Oops.

>>
>>>> Duane

>>
>>>>> and verify that you don't have any
>>>>> PSECTs that are both writeable and shareable. If that's true you
>>>>> can install /shared and you will use less physical RAM. If that's
>>>>> not then you can re-LINK the image using a linker options file to
>>>>> change the PSECT characteristics.

>>
>>>>> The older Fortran compilers for VAXen made all the COMMON blocks
>>>>> shareable and writeable. Current Fortran compilers and other
>>>>> language compilers don't tend to do this. Many compilers have ways
>>>>> of specifying this in the source code, so you don't have to use
>>>>> linker options.

>>
>>>Thanks every one for your answers.

>>
>>>It looks like I better abort. My developer isn't going to be assigned
>>>time for this at this time. Thanks again!

>>
>>>AEF

>>
>>Abort? I think the odds are about 99.9999% that it would be fine.
>>
>>If you "install add/share/header/open" and then do "install list/global"
>>on the image, you will see whether or not there are any writable
>>shared sections. (Writable non-shared sections will be copy-on-
>>reference.) If there are none, then you're fine.
>>
>>If you want to test a particular image before installing it, copy it
>>to a test directory under a different name, install the copy, and check.
>>
>>If okay, then uninstall and delete the copy, and install the original.
>>
>>If not okay, uninstall and delete the copy, and add it to your list of
>>things to fix someday.
>>
>>--
>>John Santos
>>Evans Griffiths & Hart, Inc.
>>781-861-0670 ext 539

>
>
> OK, here are the results as run on my test system:
>
> INSTALL> ADD FTEXE:FTTRDSTN /SHARE/HEAD/OPEN
> INSTALL> LIST FTEXE:FTTRDSTN
>
> DISK$DATA1:.EXE
> FTTRDSTN;387 Open Hdr Shar
> INSTALL> LIST FTEXE:FTTRDSTN/GLOB
>
> DISK$DATA1:.EXE
> FTTRDSTN;387 Open Hdr Shar
>
> System Global Sections
>
> DSA1:FTTRDSTN.EXE
> INS$87709BE0_001(0273CFCD) PRM SYS Pagcnt/
> Refcnt=504/0
>
> So is this okay?


Yes. if it doesn't say "WRT" on any of the global sections,
they aren't writable. So this is fine.

If I run the same command on our main shared-
> memory .exe file I get this:
>
> INSTALL> LIST LIB:FTSHRMEM/GLOB
>
> DISK$OPENVMS062:.EXE
> FTSHRMEM;1 Open Shar Lnkbl
> Wrt
>
> System Global Sections
>
> DSA0:FTSHRMEM.EXE
> INS$87709160_002(02639233) WRT PRM SYS Pagcnt/
> Refcnt=1/0
> INS$87709160_001(02639233) WRT PRM SYS Pagcnt/
> Refcnt=9943/0
>
> INSTALL>
>
> I see an additional item: WRT. But this one is already installed
> shareable and writable for inter-process communication, not to save
> pages in memory.


Also as expected.

>
> AEF



--
John Santos
Evans Griffiths & Hart, Inc.
781-861-0670 ext 539