]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/ipc/Kids.h
2 * Copyright (C) 1996-2014 The Squid Software Foundation and contributors
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
9 #ifndef SQUID_IPC_KIDS_H
10 #define SQUID_IPC_KIDS_H
16 /// a collection of kids
23 Kids (const Kids
&); ///< not implemented
24 Kids
& operator= (const Kids
&); ///< not implemented
27 /// initialize all kid records based on Config
30 /// returns kid by pid
33 /// returns the kid by index, useful for kids iteration
36 /// whether all kids are hopeless
37 bool allHopeless() const;
39 /// whether all kids called exited happy
40 bool allExitedHappy() const;
42 /// whether some kids died from a given signal
43 bool someSignaled(const int sgnl
) const;
45 /// whether some kids are running
46 bool someRunning() const;
48 /// whether some kids should be restarted by master
49 bool shouldRestartSome() const;
51 /// returns the number of kids
55 std::vector
<Kid
> storage
;
58 extern Kids TheKids
; ///< All kids being maintained
60 typedef char KidName
[64]; ///< Squid process name (e.g., "squid-coord")
61 extern KidName TheKidName
; ///< current Squid process name
63 #endif /* SQUID_IPC_KIDS_H */