On Thu, 3 Apr 2014 11:34:01 +0300, Binyamin Dissen wrote: >I don't see that you dump the S99MSG. stem or check RESULT - the perm concat >seems to be failing. > OK. I stand corrected. PERMC appeared in z/OS 2.1; we have only 1.13. But that's reported in RESULT, which I failed to check; allocation messages go to the terminal; S99MSG is never set.
Revised EXEC and output below: user@HOST: cat `whence catdd` /* Rexx */ signal on novalue /* *************** Doc: determine DDNAME leakage. */ address 'SH' 'set -x; uname -a' call AllocIt 'alloc dd(FOOBAR) shr dsn(SYS1.INJECT.ERROR)' say call AllocIt 'alloc dd(SYSLIB) shr dsn(SYS1.MACLIB)' call AllocIt 'alloc rtddn(CAT1) shr dsn(SYS1.MODGEN)' say; say 'Allocated:' call DDinfo call AllocIt 'concat ddlist(SYSLIB,'CAT1')' say; say 'Catenated:' call DDinfo call AllocIt 'free dd(SYSLIB)' say; say 'Freed; note that' CAT1 'is not freed:' call DDinfo call AllocIt 'alloc dd(SYSLIB) shr dsn(SYS1.MACLIB)' call AllocIt 'concat ddlist(SYSLIB,'CAT1') permc' say; say 'Catenated, with PERMC; note that' CAT1 'is not catenated:' call DDinfo return( 0 ) AllocIt: procedure expose SIGL CAT1 CAT2 A = arg(1) copies( 'msg(2)', 1 ) call BPXWDYN A say right( SIGL, 3 ) RESULT value( 'S99MSG.0' ) A return( RESULT ) DDinfo: do I = 1 until last<>0 Call bpxwdyn 'info inrelno('I')' , 'inrtddn(ddn) inrtdsn(dsn) inrtlst(last)' say I ddn copies( '(catenated)', ddn='') dsn; end I return( 0 ) /* **************************************** */ user@HOST: catdd sh:0+ uname -a OS/390 MVS3 23.00 03 2818 IKJ56228I DATA SET SYS1.INJECT.ERROR NOT IN CATALOG OR CATALOG CAN NOT BE ACCESSED 5 386400258 S99MSG.0 alloc dd(FOOBAR) shr dsn(SYS1.INJECT.ERROR) msg(2) 8 0 S99MSG.0 alloc dd(SYSLIB) shr dsn(SYS1.MACLIB) msg(2) 9 0 S99MSG.0 alloc rtddn(CAT1) shr dsn(SYS1.MODGEN) msg(2) Allocated: 1 SYSLIB SYS1.MACLIB 2 SYS00001 SYS1.MODGEN 13 0 S99MSG.0 concat ddlist(SYSLIB,SYS00001) msg(2) Catenated: 1 SYSLIB SYS1.MACLIB 2 (catenated) SYS1.MODGEN 17 0 S99MSG.0 free dd(SYSLIB) msg(2) Freed; note that SYS00001 is not freed: 1 SYS00001 SYS1.MODGEN 21 0 S99MSG.0 alloc dd(SYSLIB) shr dsn(SYS1.MACLIB) msg(2) 22 -23 S99MSG.0 concat ddlist(SYSLIB,SYS00001) permc msg(2) Catenated, with PERMC; note that SYS00001 is not catenated: 1 SYS00001 SYS1.MODGEN 2 SYSLIB SYS1.MACLIB user@HOST: -- gil ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN