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