From eca0d0cc03fb4c593c9081d8f3ffec302ba948f9 Mon Sep 17 00:00:00 2001 From: Roman Tsisyk <roman@tsisyk.com> Date: Sun, 22 Dec 2013 11:35:40 +0400 Subject: [PATCH] Fix say initialization --- src/say.c | 9 +++++---- src/say.h | 4 ++-- src/tarantool.cc | 4 ++-- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/say.c b/src/say.c index 64a254fbea..06a49cdf7f 100644 --- a/src/say.c +++ b/src/say.c @@ -45,7 +45,8 @@ int sayfd = STDERR_FILENO; pid_t logger_pid; static bool booting = true; static const char *binary_filename; -static int *log_level; +static int log_level_default = S_INFO; +static int *log_level = &log_level_default; static void sayf(int level, const char *filename, int line, const char *error, @@ -75,15 +76,15 @@ level_to_char(int level) } void -say_init(const char *argv0, int *level) +say_init(const char *argv0) { binary_filename = strdup(argv0); - log_level = level; } void -say_logger_init(char *logger, int nonblock) +say_logger_init(char *logger, int *level, int nonblock) { + log_level = level; int pipefd[2]; pid_t pid; char cmd[] = { "/bin/sh" }; diff --git a/src/say.h b/src/say.h index a9c8ab5050..aa0a8eaefe 100644 --- a/src/say.h +++ b/src/say.h @@ -51,10 +51,10 @@ extern int sayfd; extern pid_t logger_pid; /** Basic init. */ -void say_init(const char *argv0, int *log_level); +void say_init(const char *argv0); /* Move logging to a separate process. */ -void say_logger_init(char *logger, int nonblock); +void say_logger_init(char *logger, int *log_level, int nonblock); void vsay(int level, const char *filename, int line, const char *error, const char *format, va_list ap) diff --git a/src/tarantool.cc b/src/tarantool.cc index 546a12e39e..f52f6c74e4 100644 --- a/src/tarantool.cc +++ b/src/tarantool.cc @@ -593,6 +593,7 @@ main(int argc, char **argv) __libc_stack_end = (void*) &argv; #endif + say_init(argv[0]); crc32_init(); stat_init(); memory_init(); @@ -607,7 +608,6 @@ main(int argc, char **argv) void *opt = gopt_sort(&argc, (const char **)argv, opt_def); main_opt = opt; - say_init(argv[0], &cfg.log_level); if (gopt(opt, 'V')) { printf("Tarantool %s\n", tarantool_version()); @@ -769,7 +769,7 @@ main(int argc, char **argv) strcat(custom_proc_title, cfg.custom_proc_title); } - say_logger_init(cfg.logger, cfg.logger_nonblock); + say_logger_init(cfg.logger, &cfg.log_level, cfg.logger_nonblock); /* main core cleanup routine */ atexit(tarantool_free); -- GitLab