Comments embedded.

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On
Behalf Of Shmuel Metz (Seymour J.)
Sent: Monday, July 24, 2006 2:08 PM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: Questions on TCB Chain / TIOT
<snip>
>What I am trying to do is get back to the main task TCB for the
>address space to use its TIOT.

Why? What are you doing for which the TCBTIO of the *current* TCB is
not the correct pointer?

<snip>

It is not what I'm doing, it is what I've seen happen. I have seen in
dumps where the TCBTIO points to an entirely different TIOT than the Job
Step TCB (let's not get into the INITiator STC, etc., I'm talking only
about the so called "user" program tasks).

<snip>

>This led me to understand that if a TCB is attached with a KEY0
>state, that the TCBJSTCB will point to "itself".

A rather strange conclusion. Did you read Authorized Assembler
Services?

>And this idea was confirmed
>when looking at the z/OS 1.7 data areas where I found a comment that
>indicated that *any* TCB that was attached as KEY0 will have the
>TCBJSTCB pointing to "itself". 

It's dead wrong. I suggest an ETR or RCF.
<snip>

Done. I asked POK about this and then pointed them to the data area's
TCB doc. We'll see if they actually fix this. 

However, the first time I recall having run into this situation was with
MVS/SP3.1.x levels at IBM. Of course I was on a development machine
where people were allowed to do odd things.

<snip>
>Ah, but now this is where the confusion comes in. How do I get to
>the true Job Step TCB to look at its TIOT?

What do you mean by "true job step"? The Initiator for a batch job is
a started task and, as such, is a job step task and has its own TIOT.

<snip>
My code CAN run in an STC environment. It can also run as a batch job,
or even invoked to be an attached task to either environment. So knowing
where to get to the "JCL built" TIOT every time the code gets called is
important.
<snip>

>Specifically, if I am trying to get to the "common" TIOT (shall we
>say, Job Step TIOT), I may not be able to depend on the TCBJSTCB
>pointing to the "true" Job Step TCB.  

What gives you that idea?

>Please tell me I'm wrong.

Very.

PSATOLD->TCBTIO (or use EXTRACT) for any plausible situation.
PSATOLD->TCBJSTCB would take you to the job step TCB, but it will
normally have the same TIOT pointer as the current TCB does, and when
it doesn't it will be the current TCB that you need.


<snip>

What gives me that idea are some very interesting things I've seen in
dumps in a former life as either a software developer or L3 support
person for  IBM (AI languages), Boole & Babbage (AutoOp & MainView), ACS
(OBS/WYLBUR) and finally CA (OPS/MVS, JARS, MICS).

Your observation of "normally have the same TIOT pointer" has been found
to be not so normal. While probably true in a static shop, it isn't
where the operating environment changes because of testing with this or
that release of this or that product or release of "MVS/JESx". I am
still trying to get my hands around who or what can builds a TIOT as a
daughter or great grand daughter task. But I have seen that as well as
TCBs with TCBTIO = 0.

So I thought I'd try to tap the great well of knowledge in IBM Main to
figure out how to know I'm at the "true" Job Step TCB so I know I'm
pointing to its TIOT.

Personally I use PSATOLD -> TCBJSTCB -> TCBTIO. But since I'm doing
stuff that will be used by many others, I would rather make sure I cover
any weirdness at my "own" programmer's LPAR.

Later,
Steve.T

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to