10#define SQUID_IPC_KID_H
30 Kid(
const char *role,
const int id);
33 void start(pid_t cpid);
@ pkWorker
general-purpose worker bee
@ pkCoordinator
manages all other kids
@ pkDisker
cache_dir manager
@ pkHelper
general-purpose helper child
@ pkOther
we do not know or do not care
int TheProcessKind
ProcessKind for the current process.
time_t deathDuration() const
bool calledExit() const
returns true if the process terminated normally
int exitStatus() const
returns the exit status of the process
void start(pid_t cpid)
called when this kid got started, records PID
pid_t pid
current (for a running kid) or last (for stopped kid) PID
bool running() const
returns true if tracking of kid is stopped
SBuf processName() const
returns kid name
void forgetFailures()
forgets all past failures, ensuring that we are not hopeless()
time_t stopTime
last termination time
bool hopeless() const
whether the failures are "repeated and frequent"
void stop(PidStatus const exitStatus)
called when kid terminates, sets exiting status
bool isRunning
whether the kid is assumed to be alive
time_t startTime
last start time
bool signaled() const
returns true if the kid was terminated by a signal
int badFailures
number of "repeated frequent" failures
bool exitedHappy() const
whether the process exited with code 0
pid_t getPid() const
returns current pid for a running kid and last pid for a stopped kid
int termSignal() const
returns the number of the signal that caused the kid to terminate
bool shouldRestart() const
returns true if master should restart this kid
PidStatus status
exit status of a stopped kid
void reportStopped() const
describes a recently stopped kid