VMS Help
System Services, $SETPRI
*Conan The Librarian (sorry for the slow response - running on an old VAX)
|
|
Changes the base priority of the process. The base priority is
used to determine the order in which executable processes are to
run.
Format
SYS$SETPRI [pidadr] ,[prcnam] ,pri ,[prvpri] ,[nullarg]
,[nullarg]
C Prototype
int sys$setpri (unsigned int *pidadr, void *prcnam, unsigned
int pri, unsigned int *prvpri, unsigned int
*pol, unsigned int *prvpol);
pidadr
OpenVMS usage:process_id
type: longword (unsigned)
access: modify
mechanism: by reference
Process identification (PID) of the process whose priority is to
be set. The pidadr argument is the address of the PID. The pidadr
argument can refer to a process running on the local node or a
process running on another node in the cluster.
prcnam
OpenVMS usage:process_name
type: character-coded text string
access: read only
mechanism: by descriptor-fixed-length string descriptor
Process name of the process whose priority is to be changed. The
prcnam argument is the address of a character string descriptor
pointing to the process name.
A process running on the local node can be identified with a 1-
to 15-character string. To identify a process on a particular
node on a cluster, specify the full process name, which includes
the node name as well as the process name. The full process name
can contain up to 23 characters.
You can use the prcnam argument only on behalf of processes in
the same UIC group as the calling process. To set the priority
for processes in other groups, you must specify the pidadr
argument.
pri
OpenVMS usage:longword_unsigned
type: longword (unsigned)
access: read only
mechanism: by value
New base priority to be established for the process. The pri
argument is a longword value containing the new priority.
Priorities that are not real time are in the range 0 through
15; real-time priorities are in the range 16 through 31.
If the specified priority is higher than the base priority of the
target process, and if the caller does not have ALTPRI privilege,
then the base priority of the target process is used.
prvpri
OpenVMS usage:longword_unsigned
type: longword (unsigned)
access: write only
mechanism: by reference
Base priority of the process before the call to $SETPRI. The
prvpri argument is the address of a longword into which $SETPRI
writes the previous base priority of the process.
policy
OpenVMS usage:longword_unsigned
type: longword (unsigned)
access: read only
mechanism: by reference
On Alpha systems, address of a longword containing the new
scheduling policy for the process.
The $JPIDEF macro defines the following symbols for the policy
argument:
Symbol Meaning
JPI$K_DEFAULT_ The normal scheduling policy. The priority
POLICY interval for this policy is defined as
[0..n], such that priorities [0..15] are
interactive and priorities [16..n] are real
time.
JPI$K_PSX_FIFO_ POSIX FIFO scheduling policy. The priority
POLICY interval for this policy is defined as
[n..m] real-time priorities.
JPI$K_PSX_RR_POLICY POSIX round-robin policy. The priority
interval for this policy is defined as
[n..m] real-time priorities.
prvpol
OpenVMS usage:longword_unsigned
type: longword (unsigned)
access: write only
mechanism: by reference
On Alpha systems, address of a longword into which the previous
scheduling policy for the process is written. If the policy
argument is null, no change in policy is requested and prvpol
returns the current policy.
The valid priority intervals for specific scheduling policies
might change in the future. Applications should, therefore,
not use embedded numeric constants for scheduling priority, but
should use the appropriate $GETSYI item codes to fetch the legal
priority intervals. The application can then dynamically select
a priority value that is within the interval. The $GETSYI item
codes are:
o SYI$_DEF_PRIO_MAX, SYI$_DEF_PRIO_MIN
o SYI$_PSXFIFO_PRIO_MAX, SYI$_PSXFIFO_PRIO_MIN
o SYI$_PSXRR_PRIO_MAX, SYI$_PSXRR_PRIO_MIN
Refer to the $GETSYI service description in the OpenVMS System
Services Reference Manual for more information about these item
codes.
nullarg
OpenVMS usage:null_arg
type: longword (unsigned)
access: read only
mechanism: by value
Placeholding argument reserved to Compaq.
[legal]
[privacy]
[GNU]
[policy]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.