mirror of
https://github.com/zeek/zeek.git
synced 2025-10-06 16:48:19 +00:00
Initial structure for supervisor-mode
The full process hierarchy isn't set up yet, but these changes help prepare by doing two things: - Add a -j option to enable supervisor-mode. Currently, just a single "stem" process gets forked early on to be used as the basis for further forking into real cluster nodes. - Separates the parsing of command-line options from their consumption. i.e. need to parse whether we're in -j supervisor-mode before modifying any global state since that would taint the "stem" process. The new intermediate structure containing the parsed options may also serve as a way to pass configuration info from "stem" to its descendent cluster node processes.
This commit is contained in:
parent
d97d625bc3
commit
4959d438fa
18 changed files with 751 additions and 366 deletions
20
src/util.h
20
src/util.h
|
@ -60,6 +60,15 @@ extern HeapLeakChecker* heap_checker;
|
|||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <pthread.h>
|
||||
|
||||
#ifdef HAVE_LINUX
|
||||
#include <sys/prctl.h>
|
||||
#endif
|
||||
|
||||
#ifdef __FreeBSD__
|
||||
#include <pthread_np.h>
|
||||
#endif
|
||||
|
||||
ZEEK_DEPRECATED("Remove in v4.1. Use uint64_t instead.")
|
||||
typedef uint64_t uint64;
|
||||
|
@ -579,3 +588,14 @@ std::unique_ptr<T> build_unique (Args&&... args) {
|
|||
* @return the escaped string
|
||||
*/
|
||||
std::string json_escape_utf8(const std::string& val);
|
||||
|
||||
namespace zeek {
|
||||
/**
|
||||
* Set the process/thread name. May not be supported on all OSs.
|
||||
* @param name new name for the process/thread. OS limitations typically
|
||||
* truncate the name to 15 bytes maximum.
|
||||
* @param tid handle of thread whose name shall change
|
||||
*/
|
||||
void set_thread_name(const char* name, pthread_t tid = pthread_self());
|
||||
|
||||
} // namespace zeek
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue