DCE for the HP e3000 (B3821-90003)
Chapter 3 27
Threads Architecture on MPE/iX
Threads Architecture
These attributes are required in order to be POSIX compliant. POSIX
also permits each implementation to add its own thread creation
attributes. The following attribute was added for MPE/iX:
Debug: Enter debug before starting the thread
NOTE
PH capability is required to create a thread.
From a process management point of view, thread creation is just an
abbreviated form of process creation.
All threads are created as siblings. The threads of a task all have the
same father task; namely, the father of the initial thread. If a thread
creates a child using creatprocess, that child is the child of the task, not
of the thread. From the tasks child-point-of-view, its father is the initial
thread. When a thread exits, the children and the threads it created are
not terminated.
Threads do not “own” the child processes they create. However, threads
may find it necessary to wait for the termination of the offspring that
they created. Therefore, a thread is permitted to wait for a specific child
to terminate and is permitted to wait on the termination of any child.
Refer to the suspend and activate intrinsics for more explanation.
While threads are implemented with multiple processes, to the end
user threads should appear to coexist within a single process. Process
management hides the MPE/iX implementation of threads from the
programmer. The process handling intrinsics work on a task basis.
Development, Debugging, and Application Execution
of Threads
This section discusses the development, debugging, and execution of
applications that use threads on MPE/iX. It should be read before
attempting to create or run an application that uses threads.
Debug has the following features to facilitate debugging in a threaded
environment:
• Breakpoints
• Commands
• Environmental Variable