diff options
Diffstat (limited to 'logforwarder/src/apps/vespa-logforwarder-start/main.cpp')
-rw-r--r-- | logforwarder/src/apps/vespa-logforwarder-start/main.cpp | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/logforwarder/src/apps/vespa-logforwarder-start/main.cpp b/logforwarder/src/apps/vespa-logforwarder-start/main.cpp new file mode 100644 index 00000000000..e06d3dd6d8d --- /dev/null +++ b/logforwarder/src/apps/vespa-logforwarder-start/main.cpp @@ -0,0 +1,38 @@ +// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. + +#include <csignal> +#include <unistd.h> + +#include <vespa/log/log.h> +LOG_SETUP("vespa-logforwarder-start"); + +#include "cf-handler.h" +#include "sig-catch.h" + +class Wrapper { + const char *_configId; +public: + Wrapper(const char *cfid) : _configId(cfid) {} + void run() { + SigCatch catcher; + CfHandler handler; + handler.start(_configId); + while (! catcher.receivedStopSignal()) { + handler.check(); + usleep(12500); // Avoid busy looping; + } + } +}; + +int +main(int argc, char** argv) +{ + int c = getopt(argc, argv, "c:"); + if (c != 'c') { + LOG(error, "Usage: %s -c <config-id>", argv[0]); + exit(EXIT_FAILURE); + } + Wrapper wrapper(optarg); + wrapper.run(); + return 0; +} |