Rob
This is the way I have both it in the main and subtask. There is a way around
this problem by passing COMECBPT to the subtask. And posting the main task
To do a clean up
I am currently re-writing this code and if there is a real problem with the
main task getting control after the initial request.
Then I wont be able to accept any new connections so….
Thanks
*----------------------------------------------------------------*
EZASMI TYPE=INITAPI, issue INITAPI Macro X
MAXSOC=MAXSOC, (HIGHEST SOCKET NUMBER ASSIGNED) X
MAXSNO=MAXSNO, (HIGHEST SOCKET NUMBER ASSIGNED) X
ERRNO=ERRNO, (Specify ERRNO field) X
RETCODE=RETCODE, (Specify RETCODE field) X
APITYPE=APITYPE, (SPECIFY APITYPE FIELD) X
ERROR=ERROR, X
ASYNC=('ECB'), (SPECIFY ECBS) X
MF=(E,MY_PARX)
APITYPE DC H'3'
-----Original Message-----
From: IBM Mainframe Discussion List <[email protected]> On Behalf Of Rob
Scott
Sent: Friday, January 4, 2019 10:28 AM
To: [email protected]
Subject: Re: FW: Concurrent Server Task Dispatch issue multitasking issue
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 <[email protected]
<mailto:[email protected]> > On Behalf Of Joseph Reichman
Sent: Friday, January 4, 2019 2:49 PM
To: [email protected] <mailto:[email protected]>
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 <[email protected]
<mailto:[email protected]> > On Behalf Of Rob Scott
Sent: Friday, January 4, 2019 7:35 AM
To: [email protected] <mailto:[email protected]>
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 <[email protected]
<mailto:[email protected] <mailto:[email protected]
<mailto:[email protected]> > > On Behalf Of Joseph Reichman
Sent: Friday, January 4, 2019 12:31 PM
To: [email protected] <mailto:[email protected]>
<mailto:[email protected]>
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 <[email protected]
<mailto:[email protected] <mailto:[email protected]
<mailto:[email protected]> > > On Behalf Of Brian Westerman
Sent: Friday, January 4, 2019 1:40 AM
To: [email protected] <mailto:[email protected]>
<mailto:[email protected]>
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
[email protected] <mailto:[email protected]>
<mailto:[email protected]> <mailto:[email protected]> with the
message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to
[email protected] <mailto:[email protected]>
<mailto:[email protected]> 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&data=02%7C01%7CRScott%40ROCKETSOFTWARE.COM%7Ca32cbad551454d15a7b608d67253d3eb%7C79544c1eed224879a082b67a9a672aae%7C0%7C0%7C636822101702108787&sdata=NetZ4H5Oml3EKDiz7%2F8%2BRqGIAPUm2kzsmKZTitQGPy0%3D&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&data=02%7C01%7CRScott%40ROCKETSOFTWARE.COM%7Ca32cbad551454d15a7b608d67253d3eb%7C79544c1eed224879a082b67a9a672aae%7C0%7C0%7C636822101702108787&sdata=KdjCqHUUc6ZHZ8WuZ8Zu18jAtOplWkEuWPXIT5SLWH4%3D&reserved=0
Privacy Policy -
https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.rocketsoftware.com%2Fcompany%2Flegal%2Fprivacy-policy&data=02%7C01%7CRScott%40ROCKETSOFTWARE.COM%7Ca32cbad551454d15a7b608d67253d3eb%7C79544c1eed224879a082b67a9a672aae%7C0%7C0%7C636822101702108787&sdata=gAqfdLuzWD7Mu6mR2KC2t9ts%2FfcK2w7c0IcuO3yYfd4%3D&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
[email protected] <mailto:[email protected]>
<mailto:[email protected]> with the message: INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions, send email to
[email protected] <mailto:[email protected]> 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
[email protected] <mailto:[email protected]> with the message:
INFO IBM-MAIN
----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN