HP-UX Reference (11i v1 05/09) - 2 System Calls (vol 5)
p
pset_destroy(2) pset_destroy(2)
NAME
pset_destroy() - destroy a processor set
SYNOPSIS
#include <sys/pset.h>
int pset_destroy(
psetid_t pset);
DESCRIPTION
The pset_destroy()
function destroys the processor set pset, releasing all constituent processors and
processes by default. The processors and processes are reassigned to the system default processor set.
Once destroyed, the pset identifier becomes available for new processor sets that may be created in the
future.
The behavior when attempting to destroy a non-empty processor set may be controlled by changing the
PSET_ATTR_NONEMPTY
attribute of the processor set through the
pset_setattr() function. See
pset_getattr (2). The following values are supported for the
PSET_ATTR_NONEMPTY
attribute:
PSET_ATTRVAL_DFLTPSET
Reassign all processors in the pset to the system default processor set. Migrate all threads and
processes bound to the pset to the system default processor set.
PSET_ATTRVAL_FAIL
Make the request fail with [EBUSY] if there are any threads or processes bound to pset or if
there are processors assigned to the pset.
PSET_ATTRVAL_FAILBUSY
Make the request fail with [EBUSY] only if there are active threads or processes bound to the
processor set. Otherwise, perform the operation by reassigning the processors in the pset to
the system default processor set.
If the threads and processes being reassigned to the default processor set have some binding to a processor
or a locality domain in the pset being destroyed, their binding is reassigned to a processor or a locality
domain in the system default processor set.
A superuser, a PRIV_PSET privilege user, or a user with WRITE permission on the pset may destroy the
processor set pset. The system default processor set
PS_DEFAULT may never be destroyed.
EXAMPLE
Destroy a processor set with the processor set ID of pset.
#include <sys/pset.h>
int ret;
psetid_t pset;
if ((ret = pset_destroy(pset)) < 0) {
perror("pset_destroy");
}
RETURN VALUE
pset_destroy returns zero on successful completion. Otherwise, -1 is returned and errno is set to
indicate the error.
ERRORS
pset_destroy fails if one or more of the following is true:
[EBUSY] The attribute value for the processor set does not allow deletion of a non-empty processor
set.
[EINTR] The operation was interrupted.
[EINVAL] pset is not a valid processor set.
[ENOSYS] The processor set functionality is not supported by the underlying HP-UX version.
[EPERM] The user does not have necessary permissions to destroy a processor set or the system
default processor set was specified.
HP-UX 11i Version 1: September 2005 − 1 − Hewlett-Packard Company Section 2−−233