mirror of
https://github.com/ohwgiles/laminar.git
synced 2026-03-02 03:40:21 +00:00
job leader process
Implement a separate process, the "leader", which runs all the scripts for a job run, instead of directly from the main laminard process. This makes for a cleaner process tree view, where the owning job for a given script is clear; also the leader process acts as a subreaper to clean up any wayward descendent processes. Resolves #78.
This commit is contained in:
@@ -18,10 +18,22 @@
|
||||
///
|
||||
#include <kj/async-unix.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <kj/debug.h>
|
||||
|
||||
// gtest main supplied in order to call captureChildExit
|
||||
#include "laminar-fixture.h"
|
||||
#include "leader.h"
|
||||
|
||||
// gtest main supplied in order to call captureChildExit and handle process leader
|
||||
int main(int argc, char **argv) {
|
||||
if(argv[0][0] == '{')
|
||||
return leader_main();
|
||||
|
||||
// TODO: consider handling this differently
|
||||
auto ioContext = kj::setupAsyncIo();
|
||||
LaminarFixture::ioContext = &ioContext;
|
||||
|
||||
kj::UnixEventPort::captureChildExit();
|
||||
//kj::_::Debug::setLogLevel(kj::_::Debug::Severity::INFO);
|
||||
|
||||
::testing::InitGoogleTest(&argc, argv);
|
||||
return RUN_ALL_TESTS();
|
||||
|
||||
Reference in New Issue
Block a user