I suggest replacing the EZASMI SELECTS with simple STIMERM timers and see if 
the problem still exists.

-----Original Message-----
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of 
Joseph Reichman
Sent: Friday, January 4, 2019 12:31 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: FW: Concurrent Server Task Dispatch issue multitasking issue

Brian

I have that code the problem is after I attach my Subtasks my Main Task Hardly 
gets control. I have 4 subtasks each with a EZASMI SELECT as each handles 
multiple I/O’s I do a WTO after the TIMEOUT from the SELECT on both the main 
task and subtask and it seems that  the main task  Hardly gets control. I would 
say the Modify command works about 1 out 5 tries

                  1558 *        WTO   'AFTER WAIT....'
           00984  1559          L     R10,ECB_LIST+4     GET COMMUCATION ADDR
     00000        1560          TM    0(R10),X'40'       MODIFY COMMAND POSTE
           00B7E  1561          BZ    CK_TCPIP           NO CHECK TCP IP
                  1562 *        WTO   'PROCESSING MODIFY'
                  1563 *
                  1564 *        DBGRDIE LINKAGE=SVC
                  1565 *
           00A78  1566          L     R6,COMMADDR                 Get Communi
R:6  00000        1567          USING COM,R6
           00004  1568          L     R6,COMCIBPT                Point to CIB
                  1569          DROP  R6
R:6  00000        1570          USING CIB,R6
     00004        1571          CLI   CIBVERB,CIBMODFY           Q. IS it a M
           009EA  1572          BNE   SELECT_LOOP                no; Go back
4868 00010 01868  1573          CLC   CIBDATA,=CL8'SHUTDOWN'     Shut Down
           014AC  1574          BE    CLEAN_UP                  get out
           009EA  1575          B     SELECT_LOOP
                  1576 CK_TCPIP DS    0H

-----Original Message-----
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of 
Brian Westerman
Sent: Friday, January 4, 2019 1:40 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: FW: Concurrent Server Task Dispatch issue multitasking issue

One way to do it is when you set up your console interface and do the extract, 
you need to save the comm ECB address into a register and then save it into the 
ECB list (when you wait, i.e. WAIT 1,ECBLIST=youECBlistname,LONG=YES) you are 
using for your other waits (your normal timer ones).   You need to make sure 
that Then when you are posted it may be for a console communication or from one 
of your other timers, so you have to test to see why at that time.  You are 
then waiting on the list of ECBs (they can be posted by anything you set them 
up for) and no matter which one is posted, you will end up in the same code.  
Therefore you go back to that place all the time (within your standard code) 
and mostly you are just waiting for something to happen (or for a console 
interrupt for your task).  Just make sure you don't forget to wait (in the case 
of the sample below it's at WAITTIME) only.  Otherwise, you could end up never 
knowing when you get a console message.  You can have multiple waits in your 
program so long as they all use the same ECBLIST.  It can have more in it, mine 
just has the two ECBs in the sample.

So it's something like this:

WAITTIME DS    0H
         WAIT  1,ECBLIST=ECBLIST,LONG=YES  WAIT UNTIL AN ECB IS POSTED
         L     R1,COMMECB         ADDR OF COMMUNICATIONS ECB
         CLI   0(R1),X'00'        CHECK FOR OPERATOR REQUEST
         BNE   OPERREQ            YES--GO TO PROCESS OPER REQ
         CLI   TIMEECB,X'00'      DID THE TIMER POP ?
         BNE   TIMERPOP           YES--GO PROCESS TIME REQUEST
         B     WAITTIME           HMMM.. DON'T KNOW, RETRY

...
ECBLIST     DS    0F
COMMECB  DC    A(0)
                 DC    X'80',AL3(TIMEECB)

Brian

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

Reply via email to