DP_CNTL(2-N) SYSTEM CALLS DP_CNTL(2-N)
NAME
dp_cntl -- control a process in an MPPG
SYNOPSIS
#include <sys/mppg.h>
int dp_cntl(int cmd, long long arg1, long long arg2,
long long arg3, long long arg4, long long arg5);
DESCRIPTION
When cmd is equal to DPCNTL_CHKIN, the signal mode of the
calling process is changed.
dp_kill(2) and dp_resume(2) become possible only in the
group of processes that have changed their signal mode.
When a process in this group aborts due to an exception,
e.g., invalid memory access, SIGXABT is sent to all the
other processes in the group.
For the usual parallel programs, a deadlock is detected and
a SIGDEAD signal is sent to the process when all threads in
a process have suspended. However, MPPG processes may be
resumed from another process, so the deadlock must not be
detected even when all threads of the process have sus-
pended.
When a thread that belongs to an MPPG and has executed
dp_cntl(DPCNTL_CHKIN) is suspended by the thread library, a
deadlock is checked through all processes that belong to the
MPPG and that have executed dp_cntl(DPCNTL_CHKIN). If a
deadlock is detected, SIGDEAD is sent to the last suspended
process and as a result SIGXABT is sent to all the other
processes.
dp_cntl fails if one or more of the following are true:
[EINVAL] The calling process doesn't belong to an MPPG.
[EINVAL] cmd is not a valid value.
SEE ALSO
dp_create(2), dp_join(2), dp_exit(2), dp_xmalloc(2),
dp_xmfree(2), dp_xmshare(2), dp_xmatt(2),
dp_kill(2), dp_resume(2)
Global Memory in the SUPER-UX Programmer's Guide
DIAGNOSTICS
Upon successful completion, a value of 0 is returned. Oth-
erwise, a value of -1 is returned and errno is set to indi-
cate the error.
SUPER-UX Last change: Oct 13, 1999 1
G1AB02E Programmer's Reference Manual