MVS Jan 2005.p65 - CBT Tape
MVS Jan 2005.p65 - CBT Tape
MVS Jan 2005.p65 - CBT Tape
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
A tinit() function call is used to define the parallel load<br />
module that will be used for multi-tasking requests as well<br />
as the maximum number of concurrent requests that can<br />
be active.<br />
A tsched() function call is made (to a CSECT that exists in<br />
the tinit() requested load module) to activate an MTF<br />
subtask.<br />
A tsyncro() function call is used to clean up resources and<br />
wait for the completion of any tsched() initiated requests.<br />
A tterm() function call terminates the currently defined<br />
MTF environment.<br />
MTF has the following drawbacks:<br />
The number of possible concurrent requests is restricted<br />
by the tinit() set-up function.<br />
All possible multi-tasking routines must be included in the<br />
tinit() parallel function load module.<br />
If an abend occurs in any tsched() request, the active MTF<br />
environment becomes ineligible for use and must be<br />
terminated and reinitialized before further MTF activity<br />
can occur.<br />
It requires a POSIX(OFF) environment.<br />
ANOTHER OPTION<br />
For anyone familiar with the ATTACH Assembler macro, the<br />
multi-tasking technique just discussed that most closely<br />
resembles ATTACH is the pthread_create() function. The<br />
drawbacks of the pthread_create() function are just sufficient<br />
to warrant the creation of a new function pair, ATTACH() and<br />
DETACH(). The ATTACH() function is capable of attaching<br />
programs that are available in an address space’s program<br />
search order. The ATTACH() function requires a minimum of<br />
five parameters. All parameters in excess of the minimum are<br />
© 2005. Reproduction prohibited. Please inform Xephon of any infringement.<br />
31