>static NEVER means constant 

Maybe not to you. Maybe not to C or other LE-compliant languages now. I'd 
guess that if you went back far enough, "static" (at least in a reentrant 
module) means "not intended ever to be changed". The fact that C does not 
apply that meaning, or PL/I for that matter might not, might not be all 
that relevant.

>Storage for static variables, i.e. variables declared with 
>the STATIC keyword, is "allocated" in the so called static 
>CSECT that becomes part of the object module. Note that 
>this *is* read/write storage, so in PL/I STATIC does not 
>mean constant.

If it's truly part of a "CSECT" that is part of a load module, then this 
statement is wrong (or needs to be fine-tuned). All z/OS storage is 
read/write if you're in the right key (unless z/OS has page-protected it). 
So if you're trying to say that a non-key-0 program can write into it, in 
z/OS that will depend on the APF authorization of the load library 
concatenation and the reentrancy of the module.

Peter Relson
z/OS Core Technology Design

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to