Rob 

You may not beleive this but I read that over twice I promise 
Thank you 

> On Mar 1, 2024, at 8:38 AM, Rob Scott <rsc...@rocketsoftware.com> wrote:
> 
> Joe
> 
> There is a very good “Providing Recovery” section of the Advanced Assembler 
> Services guide that will help.
> 
> It includes the following sentence :
> 
> “Programs that are disabled, hold locks, or are in SRB mode cannot use 
> ESTAE-type recovery routines.”
> 
> Rob Scott
> Rocket Software
> 
> From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of 
> Seymour J Metz
> Sent: Friday, March 1, 2024 12:44 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Recovery routine for IRB
> 
> EXTERNAL EMAIL
> 
> 
> 
> Does ESTAE support code that holds a lock? I suspect tthat you need an ARR or 
> FRR?
> 
> --
> Shmuel (Seymour J.) Metz
> http://mason.gmu.edu/~smetz3<http://mason.gmu.edu/~smetz3>
> עַם יִשְׂרָאֵל חַי
> נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר
> 
> ________________________________________
> From: IBM Mainframe Discussion List 
> <IBM-MAIN@LISTSERV.UA.EDU<mailto:IBM-MAIN@LISTSERV.UA.EDU>> on behalf of 
> Joseph Reichman 
> <000005812645a43c-dmarc-requ...@listserv.ua.edu<mailto:000005812645a43c-dmarc-requ...@listserv.ua.edu>>
> Sent: Thursday, February 29, 2024 11:13 PM
> To: IBM-MAIN@LISTSERV.UA.EDU<mailto:IBM-MAIN@LISTSERV.UA.EDU>
> Subject: Recovery routine for IRB
> 
> HI
> 
> I have tested my recovery routines in many different scenarios. My last step
> was to test a asynchronous exit or an IRB. Since many people have told I
> don't post my code I'll do so now.
> 
> I have tested the asynchronous exit or IRB and it has gotten control however
> when I insert H'0' it abends with without the recovery getting control
> 
> I take the current TCB or PSATOLD (the same one that was active when I
> established the estate and save it in IQETCB so since the IRB runs under the
> same TCB that established the estate it (the recovery program) should get
> control
> 
> The local lock is held however I don't think the should stop the estate from
> getting control
> 
> *+--------------------------------------------------------------------+
> MODULE CESTAE,BASE=12,LOC=BELOW,AMODE=31,RMODE=ANY, X
> TEXT=' ESTABLISH AN ESTAEX ROUTINE'
> * *---------------------------------------*
> * * LOAD THE ESTAE ROUTINE *
> * *---------------------------------------*
> MODESET KEY=ZERO,MODE=SUP
> 
> 
> LOAD EP=GRECOV,ERRET=EXIT0C LOAD THE ESTAEX ROUTINE
> LR R3,R0 ADDRESS OF ESTAEX ROUTINE TO R3
> * *---------------------------------------*
> * * BUILD PARMLIST FOR ESTAEX ROUTINE *
> * *---------------------------------------*
> LAE R4,ESTPARAM ADDRESS OF PARMS FOR ESTAE RTN
> USING ESTPARM,R4 MAP ESTAE PARMLIST
> LAE R15,RETRY RETRY ADDRESS
> ST R15,ESTRETRY SAVE IN PARMS FOR ESTAE ROUTINE
> * *---------------------------------------*
> * * UNCOMMENT THE FOLLOWING 2 LINES *
> * * IF THIS MODULE EXECUTES IN *
> * * SUPERVISOR STATE. *
> * *---------------------------------------*
> ST R12,ESTLOAD ENTRY POINT TO ESTAE PARMLIST
> MVC ESTMOD(8),=CL8'CESTAE' MODULE NAME TO ESTAE PARMLIST
> * *---------------------------------------*
> * * ISSUE THE ESTAEX MACRO *
> * *---------------------------------------*
> ESTAEX (R3),PARAM=(R4),MF=(E,ESTAELST)
> * *---------------------------------------*
> * * THE FOLLOWING 4 INSTRUCTIONS *
> * * REPRESENTS THE REST OF THE *
> * * PROCESSING IN THIS MODULE. *
> * * AN ERROR WILL CAUSE RTM TO INVOKE *
> * * AN ERROR WILL CAUSE RTM TO INVOKE *
> * * THE ESTAEX ROUTINE. *
> * *---------------------------------------*
> * DC H'0'
> B IRBERR
> ENDMOD RESTORE REGISTERS AND RETURN
> IRBERR DS 0H
> LOAD EP=IRBPTR
> LR R5,R0
> * O R5,=X'80000000'
> ST R5,IRBADD
> 
> *
> USING PSA,0
> L R4,PSATOLD
> 
> 
> *
> *
> *
> SETLOCK OBTAIN,TYPE=LOCAL,MODE=UNCOND,REGS=STDSAVE
> *
> CIRB EP=(R5), X
> RETIQE=YES, X
> STAB=DYN, X
> MODE=SUPR, X
> KEY=SUPR, X
> WKAREA=255, X
> BRANCH=YES, X
> AMODE=DEFINED
> 
> 
> *
> 
> USING RBBASIC,R1
> L R5,RBNEXAV Get IQE Pointer
> USING IQESECT,R5
> ST R5,IQEADD
> ST R1,IQEIRB
> LA R15,PLIST
> ST R15,IQEPARAM
> ST R4,IQETCB
> *
> *
> *
> SCHEDIRB IQEPTR=IQEADD, X
> MF=(E,IRBLST)
> *
> SETLOCK RELEASE,TYPE=LOCAL,REGS=STDSAVE
> B EXIT
> 
> * Here is my IRB rtn as you can see I inserted a H'0' upfront
> * When I take the H'0' out the IRB routine gets control and runs
> till the end
> *
> IRBPTR CSECT
> IRBPTR AMODE 31
> IRBPTR RMODE ANY
> YREGS
> *
> * STM R14,R12,12(R13)
> LR R5,R15
> LR R11,R14
> DC H'0'
> 
> 
> 
> Thanks
> 
> 
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu<mailto:lists...@listserv.ua.edu> with 
> the message: INFO IBM-MAIN
> 
> 
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu<mailto:lists...@listserv.ua.edu> with 
> the message: INFO IBM-MAIN
> 
> ================================
> Rocket Software, Inc. and subsidiaries ■ 77 Fourth Avenue, Waltham MA 02451 ■ 
> Main Office Toll Free Number: +1 855.577.4323
> Contact Customer Support: 
> https://my.rocketsoftware.com/RocketCommunity/RCEmailSupport
> Unsubscribe from Marketing Messages/Manage Your Subscription Preferences - 
> http://www.rocketsoftware.com/manage-your-email-preferences
> Privacy Policy - http://www.rocketsoftware.com/company/legal/privacy-policy
> ================================
> 
> This communication and any attachments may contain confidential information 
> of Rocket Software, Inc. All unauthorized use, disclosure or distribution is 
> prohibited. If you are not the intended recipient, please notify Rocket 
> Software immediately and destroy all copies of this communication. Thank you.
> 
> ----------------------------------------------------------------------
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

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