Writing global user exit programs
You must write global user exit programs in assembler language and they must be quasi-reentrant. However, if your user exit program calls the XPI, it must be fully reentrant.
Remember: A reentrant program is coded to allow one copy of itself to be used
concurrently by several tasks; it does not modify itself while running. A quasi-reentrant program is
serially reusable by different tasks. When it receives control it must be in the same state as when
it relinquished control. Such a program can modify itself while running, and is therefore not fully
reentrant.
For more information about quasi-reentrant programs, see Multithreading: Reentrant, quasi-reentrant, and threadsafe programs.