× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.


  • Subject: RE: Service Programs in Named Activation Groups
  • From: Alan Campin <Alan.Campin@xxxxxxxxxxxxx>
  • Date: Wed, 24 Nov 1999 14:24:47 -0700

>> Static storage is scoped to activation group, so if programs from
different
>> activation groups are calling modules in a service program, running in a
>> named activation group, they should expect to see changes to static
>> variables, made in previous calls, even coming from unrelated activation
>> groups.

Alexei, what does this mean exactly. Can up supply an example. I make call
into service programs running in a named activiation group QSRVPGM and I
have never seen a static storage variable change between calls. If it did, I
would have all kinds of service programs that would not work. 

What I do quite often is to build the program smart enough to handle
multiple calls from different users into the same service program at the
same time. I do this by allocating all my data structures with heap storage
and then keeping a table in static storage with nothing but an integer
number and a pointer to the data structure for that user. The user passes me
the integer number they got from an earlier call to an initialization
function and I use that number to lookup the pointer to that users storage. 

In other words, dynamic memory management but, if what you are saying is
true, this would never work. The static storage wouldn't be there from
before or would have been changed. 

Am I missing something?

Thanks

Alan Campin
alan.campin@caselogic.com

-----Original Message-----
From: pytel@us.ibm.com [mailto:pytel@us.ibm.com]
Sent: Wednesday, November 24, 1999 1:19 PM
To: RPG400-L@midrange.com
Subject: Re: Service Programs in Named Activation Groups



Static storage is scoped to activation group, so if programs from different
activation groups are calling modules in a service program, running in a
named activation group, they should expect to see changes to static
variables, made in previous calls, even coming from unrelated activation
groups.

Automatic (local) storage is allocated in stack and is not affected by
activation group.

Heap storage is also scoped to activation group, so all dynamic allocations
made from service program modules will go to the same heap (which will be
freed when this activation group ends).
This may lead to orphan pointers in other activation groups.

Basically, there is no problem in using named activation group for service
program if you understand what you are doing.


Best regards
    Alexei Pytel



+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator:
david@midrange.com
+---
+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---


As an Amazon Associate we earn from qualifying purchases.

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.