HPlogo HP-UX Reference > P

pset_destroy(2)

HP-UX 11i Version 2: December 2007 Update
» 

Technical documentation

 » Table of Contents

 » Index

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 user with the PSET privilege 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.

Security Restrictions

Some or all of the actions associated with this system call require the PSET privilege. Processes owned by the superuser have this privilege. Processes owned by other users may have this privilege, depending on system configuration. See privileges(5) for more information about privileged access on systems that support fine-grained privileges.

EXAMPLES

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.