I hadn't thought of this approach. It very well might work! Let me mull this
one over.

Thanks!

David Logan

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of Rob Scott
Sent: Thursday, February 14, 2008 11:25 AM
To: [email protected]
Subject: Re: Hopefully quick XMS question

One thought that immediately springs to mind is instead of waiting on a
single ECB - why not wait on two ECBs in an ECB list. The second ECB can be
the one that is POSTed by the secondary address space when it terminates. If
you cover the secondary address space with ESTAE/FRR/RESMGR you can cater
for most "non-force" scenarios and still cause the ECB to be posted.


Rob Scott
Rocket Software, Inc
275 Grove Street
Newton, MA 02466
617-614-2305
[EMAIL PROTECTED]


-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of David Logan
Sent: 14 February 2008 18:14
To: [email protected]
Subject: Re: Hopefully quick XMS question

Never mind, this path isn't going to work either. So let me ask a different
question, which addresses my *actual* problem.

I have a module running XMS (in a secondary address space.) Sometimes it
needs to issue a request to a TCB running in the secondary address space.
Following that, my (primary address space TCB) needs to wait on an ECB that
secondary task will eventually post (XMS post with ASCB).

OK, with all of that, it's possible that the secondary address space will
crash while the primary address space is waiting for the ECB to be posted,
and if the secondary address space crashes, the ECB will never be posted,
causing the primary address space to be in an endless wait for an ECB that
will never be posted.

*whew* ok, that was long. I need the wait to time out, so that if the
secondary address space crashes, the primary address space would notice
after some amount of time.

Because it's all in cross memory mode, neither STIMER nor STIMERM work very
well at all, leaving me without any good options. I'm having a hell of a
time figuring out how to get a timeout.

It seems I am going to have to ATTACH a task, and use yet another queue
passing things into the attached task so that the attached task can do a
post to a passed-in ecb if the "queue entry time" expires. Then my cross
memory program can put its "request" on this queue, issue a multiple wait,
and I guess take itself off this "timer task queue" when the original ECB
gets posted correctly.

This is a damn lot of work to ensure we don't endless wait if an address
space crashes. It sure would be nice to have a much more efficient way to
determine if the secondary address crashed, or have an efficient way to come
out of a WAIT after a certain amount of time (in AR mode.)

!sigh! :)

David Logan

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of David Logan
Sent: Thursday, February 14, 2008 10:48 AM
To: [email protected]
Subject: Hopefully quick XMS question

I have a quick question about how to switch PASN and SASN in XMS mode. I
have some assembly code where I want to "BAS 14,SUBFUNC"



At the time of the BAS, I am in AR mode, with SASN=HASN, and PASN=other.



After I enter the call, I need to switch this around, so that PASN=HASN and
SASN=immaterial



Then I can SAC 0 and put myself into primary mode.



Obviously just before the BR 14, I need to undo all of this to get back to
AR mode, SASN=HASN, etc.



Is there an easy way to do this that I haven't found yet, or do I have to
hunt down the ASN "get" and "set" instructions (such as SSAR) and issue the
various switcharound instructions.



Thanks!



David Logan



. <snip> . HASN = SASN, PASN=other

BAS 14,SUBFUNC

. <snip> .



SUBFUNC DS 0H

;

; Here, I want to SAC 0 to put myself into PRIMARY mode, but I also need to
set PASN=HASN

; Before I return, I want to set SAC 512 and restore SASN=HASN and
PASN=other

.





Is there an easy way to do this that I haven't found yet?



Thanks!



David Logan


----------------------------------------------------------------------
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

----------------------------------------------------------------------
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

----------------------------------------------------------------------
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

----------------------------------------------------------------------
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