KSTATE(2) LAM LOCAL LIBRARY KSTATE(2)NAMEkstate - Get synchronization status of a LAM process.
SYNOPSIS
#include <kreq.h>
int kstate (int pid, struct kstatus *status);
DESCRIPTION
The function kstate() enables a LAM process to inquire about the syn‐
chronization status of any process on the local node, including itself.
The argument pid is the identifier of the process to be stated. The
special identifier 0 indicates the calling process. Information
returned from the daemon will be stored in the structure addressed by
the status argument. The structure is defined in <kreq.h> as shown
below.
struct kstatus {
int ks_state;
int ks_priority;
int ks_event;
int ks_type;
int ks_signal;
int ks_flags;
int ks_length;
int ks_fyi[KNFYI];
};
Upon return from kstate(), the individual fields are filled with the
information described below.
ks_state scheduling status (see below)
ks_priority synchronization priority (see kenter(2))
ks_event currently blocked or last used message event
ks_type currently blocked or last used message type
ks_signal pending signals to be delivered
ks_flags internal process management flags
ks_length currently blocked or last used message length
ks_fyi application specific information
The process states, defined in <kreq.h>, are described below.
KSREADY ready to run
KSRECV blocked on krecv(2) to receive a message
KSSEND blocked on ksend(2) to send a message
ERRORS
ENOTPROCESS The process whose process identifier was passed to
kstate() is not a LAM process.
ENOTATTACHED The calling process is not a LAM process.
SEE ALSOrpstate(2)LAM 7.1.2 March, 2006 KSTATE(2)