What value do you have for APITYPE on your INITAPI call?

I believe you need APITYPE=3 for async processing.

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

Just did didn't seem to help I'll post my code shortly but let me explain the 
scenario.

As I stated in my earlier post I have two selects

*In the main acting as a listener
*In the subtask to do multiple I/Os different sockets

Initially before I do any reads or writes the 4 subtask ECBS have waits on 
multiple ECBs one from the select in the subtask, another from the main task 
for new work At the is point (I can verify this via WTO's) the Main task does 
get control. And I am able process the modify command

When the main task gets the first connection it does a givesocket and posts an 
available subtask to process this command via a takesocket, read and then write 
All of this is successful.

After the subtask has finished the write it goes back to the select.

The code I am now posting is (and please don’t get on my case for using CVTUSER 
as it is only a one time deal to see where the problem is) is now I bypass the 
SELECT and use STIMER however Even now the main task does seem to get control. 
As I said tried many things CALLDSIP LPMOD DPMOD on the attach of the 4 
subtasks but for some reason the main task doesn't get control

thanks

    SELECT_LOOP DS 0H
       L    R15,16                  Get CVT
       USING CVT,R15
       CLI  CVTUSER,C'1'
       BNE  NOTNOW
       DROP R15
       WTO  'BEFORE STIMER..'
       STIMER   WAIT,DINTVL=LTINTVL   WAIT A BIT
       WTO  'AFTER STIMER...'
       B    SELECT_LOOP
NOTNOW DS 0H
         XC    MY_ECBT,MY_ECBT
         EZASMI TYPE=SELECT,      Issue Macro                          X
               TIMEOUT=TIMEVAL,                                        X
               MAXSOC=MAXSNO,     SPECIFY MAXIMUM NUMBER OF SOCKETS    X
               RSNDMSK=RSNDMSK,   READ MASK                            X
               RRETMSK=RRETMSK,   RETURN FROM READ                     X
               ESNDMSK=ESNDMSK,                                        X
               ERETMSK=ERETMSK,                                        X
               ERRNO=ERRNO,       (Specify ERRNO field)                X
               RETCODE=RETCODE,   (Specify RETCODE field)              X
               ECB=MY_ECBT,       MAIN TASK EMB                        X
               ERROR=ERROR,       Abend if Macro error                 X
               TASK=MYTIE,                                             X
               MF=(E,MY_PARX)
 *
 *           Wait For Something to happen
 *
 *
          WAIT  1,ECBLIST=ECBLST     WAIT For Something top Happen
-----Original Message-----
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of Rob 
Scott
Sent: Friday, January 4, 2019 7:35 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: FW: Concurrent Server Task Dispatch issue multitasking issue

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 
<mailto:IBM-MAIN@LISTSERV.UA.EDU> > On Behalf Of Joseph Reichman
Sent: Friday, January 4, 2019 12:31 PM
To: IBM-MAIN@LISTSERV.UA.EDU <mailto: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 
<mailto:IBM-MAIN@LISTSERV.UA.EDU> > On Behalf Of Brian Westerman
Sent: Friday, January 4, 2019 1:40 AM
To: IBM-MAIN@LISTSERV.UA.EDU <mailto: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>  
<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://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmy.rocketsoftware.com%2FRocketCommunity%2FRCEmailSupport&amp;data=02%7C01%7CRScott%40ROCKETSOFTWARE.COM%7Ca32cbad551454d15a7b608d67253d3eb%7C79544c1eed224879a082b67a9a672aae%7C0%7C0%7C636822101702108787&amp;sdata=NetZ4H5Oml3EKDiz7%2F8%2BRqGIAPUm2kzsmKZTitQGPy0%3D&amp;reserved=0
Unsubscribe from Marketing Messages/Manage Your Subscription Preferences - 
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.rocketsoftware.com%2Fmanage-your-email-preferences&amp;data=02%7C01%7CRScott%40ROCKETSOFTWARE.COM%7Ca32cbad551454d15a7b608d67253d3eb%7C79544c1eed224879a082b67a9a672aae%7C0%7C0%7C636822101702108787&amp;sdata=KdjCqHUUc6ZHZ8WuZ8Zu18jAtOplWkEuWPXIT5SLWH4%3D&amp;reserved=0
Privacy Policy - 
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.rocketsoftware.com%2Fcompany%2Flegal%2Fprivacy-policy&amp;data=02%7C01%7CRScott%40ROCKETSOFTWARE.COM%7Ca32cbad551454d15a7b608d67253d3eb%7C79544c1eed224879a082b67a9a672aae%7C0%7C0%7C636822101702108787&amp;sdata=gAqfdLuzWD7Mu6mR2KC2t9ts%2FfcK2w7c0IcuO3yYfd4%3D&amp;reserved=0
================================

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