On Mon, Feb 13, 2017 at 11:51 AM, Paul Gilmartin <
0000000433f07816-dmarc-requ...@listserv.ua.edu> wrote:

> On Mon, 13 Feb 2017 11:32:36 -0600, John McKown wrote:
> >
> >
> ​<snip>
>
> >
> I was thinking of BPX1PIP and BPXWDYN( "alloc path('/dev/fd/[pipe
> output]') ..." ).
> No generated pathname.
>

​Ah. I hadn't thought of that. An interesting idea, but having already used
a UNIX subroutine, I guess I figured it was easier to use another UNIX
subroutine rather that setting up an FD along with an OPEN / READ loop /
CLOSE.​



>
> >> Does BPX1ATM dup() descriptors as spawn() does?  If so the parent must
> >> close() its copy of the input descriptor or it never sees EOF.  Happens
> to
> >> me all the time.
> >
> >​BPX1ATM is "attach_and_exec_mvs", which basically seems, to me, to be a
> >wrapper around the ATTACHX function. So the HLASM program is a subtask of
> >the COBOL program. ​
> >
> I take that as "doesn't dup()."
>

​Right, I should have said that explicitly. Why would it? What use would a
dup() serve?​ Both tasks (aka "threads") are running in the same UNIX
process and so (should?) have access to all of that process' file
descriptors.



>
> >​There is a BPX1SEL (
> >https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.
> 0/com.ibm.zos.v2r1.bpxb100/sel.htm?view=kc
> >) which I guess could be used. But, at least to me, using the BPX1ATM is
> >conceptually easier. ...
> >
> You need something like select() if you want to monitor multiple
> input streams, such as stdout and stderr from a child process.
>

​Yes, but that is not the case here. I think that the HLASM is basically
being used as a "QSAM for RACF" type interface.​


>
> -- gil
>
>
-- 
Our calculus classes are an integral part of your education.

Maranatha! <><
John McKown

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