This section describes the changes you might have to make to your existing
applications or configuration to exploit the XPLINK option with C and C++
programs.
To continue running your C and C++ programs without exploiting the XPLINK
option of the compiler, no action is needed.
The following steps show you how to take advantage of the support that
is now available for XPLINK:
- Ensure that your C or C++ program is reentrant, and threadsafe, or modify
it so that it conforms to these standards, see Migration planning for threadsafe programming and the open transaction
environment (OTE)
If your
program uses the XPCFTCH or XPCTA exits, take note of the advice in "Global User exits and XPLink" in the CICS® Application Programming Guide that:
- CICS disregards any attempt by XPCFTCH to modify the entry point.
- CICS disregards any attempt by XPCTA to define a resume address.
This is because the batch Language Environment runtime used for XPLink
programs does not give control to CICS when a program abends, but goes through
its own abend handling. When control reaches CICS, the Language Environment
enclave has terminated, so CICS is unable to honor an entry point address
or a resume address. You must find other ways to manage such requirements,
or conclude that this program is not a suitable candidate for XPLINK optimization.
One possible solution is to write a Language Environment abnormal termination
exit, as described in the chapter "Customizing user exits" in the z/OS Language Environment Customization manual.
- Recompile the program using the XPLINK compiler option.
- Update the concurrency attribute of the PROGRAM resource definition for
this program, setting the value to threadsafe.
[[ Contents Previous Page | Next Page Index ]]