Tony thanks as I said the basic design of my code is from section H in tcp/ip 
for beginners “concurrent server” with the exception of the subtask having a 
select or as I change it to selectx and multiple tasks 

Thanks again 





> On Jan 4, 2019, at 10:51 AM, Tony Thigpen <t...@vse2pdf.com> wrote:
> 
> This sounds like an ECB problem, not an EZASMI problem.
> 
> Double check your ECB list to make sure that you have the high bit set in the 
> last ECB pointer only. Make sure that any of your subtasks that use the same 
> ECB list is not setting the high-bit on the wrong ecb pointer.
> 
> Verify that you are not sharing the ECBs between the main task and the 
> subtasks.
> 
> As a side note, I always recommend that you have a master 'shutdown' ECB for 
> all your EZA subtasks and that you use SELECTEX instead of SELECT so that the 
> SELECTEX will trigger if the main task sets the 'shutdown' ECB.
> 
> 
> Tony Thigpen
> 
> Joseph Reichman wrote on 1/4/19 9:49 AM:
>> 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://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 <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
> 
> ----------------------------------------------------------------------
> 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