Following up on this problem.

The close fails because the DEB address in the DCB is pointing to a DEB
that's not in the TCB's DEB chain.

I don't know why/how the DEB chain in the TCB is losing this particular
DEB. I'm certainly not manipulating the TCB in any way. Perhaps ADRDSSU is
keeping track of its TCB and is restoring its copy when the exit returns
control.

For the time being, I've modified my code to open the DCB on each entry to
the exit and then close it before I return control. (Previously I was
opening the DCB when ADRDSSU called the exit at function startup and then
closing the DCB when the exit got called at function end.)

FYI, I'm doing all of this because I tried using file 678 on the CBT tape
and I discovered that it's severely broken.


On Thu, Apr 3, 2014 at 9:03 AM, Alan Haff <alanh.ibmm...@gmail.com> wrote:

> I'm writing a relatively trivial assembler program that writes output to a
> Unix file. I'm getting return code 4 from CLOSE, which of course simply
> indicates that the close was unsuccessful. No additional diagnostic
> messages are generated.
>
> I've confirmed that I haven't clobbered the DCB or otherwise mangled any
> control blocks (as best I can tell, anyway).
>
> Any tips on how to determine the reason that CLOSE refused to close the
> file? Thanks...
>
> (The program is an ADRDSSU User Interaction Module exit that reformats
> DUMP records into AWSTAPE format and writes them to a Unix file. The path
> will eventually be an NFS-mounted filesystem when I get everything working.)
>

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