diff --git a/src/say.c b/src/say.c index 325696549c033c0d9a580afd0ee0dcf1e7c27635..bb6ed1311b87fd362c470159fa8c5f8bee6da8a0 100644 --- a/src/say.c +++ b/src/say.c @@ -294,7 +294,6 @@ log_pipe_init(struct log *log, const char *init_str) char cmd[] = { "/bin/sh" }; char args[] = { "-c" }; char *argv[] = { cmd, args, (char *) init_str, NULL }; - char *envp[] = { NULL }; sigset_t mask; sigemptyset(&mask); sigaddset(&mask, SIGCHLD); @@ -331,7 +330,7 @@ log_pipe_init(struct log *log, const char *init_str) * dies, we get SIGPIPE and terminate. */ setpgid(0, 0); - execve(argv[0], argv, envp); /* does not return */ + execv(argv[0], argv); /* does not return */ diag_set(SystemError, "can't start logger: %s", init_str); return -1; } diff --git a/test/app-tap/logger_pipe.result b/test/app-tap/logger_pipe.result new file mode 100644 index 0000000000000000000000000000000000000000..21e72e8ac3d7e23bd6532b5f1f4a6bdf8362e6cf --- /dev/null +++ b/test/app-tap/logger_pipe.result @@ -0,0 +1 @@ +48 diff --git a/test/app-tap/logger_pipe.test.lua b/test/app-tap/logger_pipe.test.lua new file mode 100755 index 0000000000000000000000000000000000000000..c427e8f9f9a2238f5b9e39c34c2567e959f589f7 --- /dev/null +++ b/test/app-tap/logger_pipe.test.lua @@ -0,0 +1,5 @@ +#!/usr/bin/env tarantool + +os.setenv('TEST_VAR', '48') +box.cfg { log = '|echo $TEST_VAR' } +os.exit(0)