If it were me I would start with FREEPOOL. That will prove where the problem lies. (Moving the buffers above the line might just mask the problem.) Trivial to add FREEPOOL and test. Looking at my code it appears that FREEPOOL is inherently reentrant; no need for an MF=E/L exercise.
Then move on to DCBE which is the "right" solution. A little more effort. Charles -----Original Message----- From: IBM Mainframe Assembler List [mailto:[email protected]] On Behalf Of Phil Smith III Sent: Wednesday, July 10, 2019 3:19 PM To: [email protected] Subject: Re: Probably dumb assembler question Charles Mills (and others) wrote about using FREEPOOL and/or RMODE31=BUFF. I will dig into those. To Mike Hochee: I can't leave the file open. The calls to the API are atomic and have no persistence, so I don't know if this is one invocation of many, or the one and only. The good news is that this isn't actually much of a problem, because in normal usage with this API, you'd either terminate once you start getting errors, or you'd be passing a message buffer so you can return those errors to a client. It doesn't make a lot of sense to keep calling it with errors and ignoring them (that is, letting them fall into SYSPRINT). But of course I still want to fix it. Thanks to all for the suggestions. I would not have tripped over either of those any time soon! .phsiii
