Open System Services System Calls Reference Manual (G06.25+, H06.03+)

tdm_spawnp(2) OSS System Calls Reference Manual
Existing Sockets
A socket associated with an open le descriptor in the calling process remains connected in the
new process when the new process runs in the same processor as the calling process.
When the new process runs in a different processor than the calling process, the processor that
runs the new process must also be running a socket transport agent process. If no socket tran-
sport agent process is running in the new processor, the new process cannot use the socket; calls
specifying the le descriptor for the socket fail with errno set to [EWRONGID]. The new pro-
cess can only close the invalid le descriptor.
Sharing Guardian Files
After a successful call to the tdm_spawnp() function, the initial position within an open EDIT
le (le code 101) in the Guardian le system (a le in /G) that was opened by a call to the OSS
open() function is the same for both the parent and child processes. However, the position is not
shared; that is, changing the position used by one process does not change the position used by
the other process.
Shared Memory
Any attached shared memory segments are detached from the child process by a successful call
to the tdm_spawnp() function. See the shmat(2) reference page for additional information
about shared memory segment use.
Semaphores
Semaphore set IDs attached to a parent process are also attached to the child process if the child
process executes in the same processor as the parent.
A semaphore set cannot be shared when a semadj value exists for the parent process and the
child process is created in a different processor. When that condition exists, a call to the
tdm_spawnp() function fails and errno is set to [EHLDSEM].
See the semget(2) reference page for additional information about semaphore use.
Signals
The setting of signaling attributes in the new process depends on the information provided in the
inheritance structure (pointed to by the inherit parameter).
This default signal information applies to the child process unless modied by the information in
the inheritance structure:
Signals set to the default action (SIG_DFL) in the parent process are set to the default
action in the child process.
Signals set to be ignored (SIG_IGN) by the parent process are set to be ignored by the
child process.
Signals that cause abnormal termination (SIG_ABORT) in the calling process image are |
set to that action in the new process image.
Signals that cause entry into the debugger (SIG_DEBUG) in the calling process image |
are set to that action in the new process image.
Signals set to be caught by the parent process are set to the default action in the child
process (see the signal(4) reference page).
The signal mask in the child process is inherited from the parent process.
860 Hewlett-Packard Company 527186-003