From 681efe20d327e9e6774b174a617d66bbb9d21f48 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Tue, 8 Mar 2011 21:00:36 +0100 Subject: use user's shell instead of hardwired "/bin/sh" (android needs this) Signed-off-by: Denys Vlasenko --- runit/svlogd.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'runit') diff --git a/runit/svlogd.c b/runit/svlogd.c index cfa20a773..b0ba21bb6 100644 --- a/runit/svlogd.c +++ b/runit/svlogd.c @@ -187,6 +187,7 @@ struct globals { unsigned nearest_rotate; void* (*memRchr)(const void *, int, size_t); + char *shell; smallint exitasap; smallint rotateasap; @@ -382,6 +383,9 @@ static void processorstart(struct logdir *ld) /* vfork'ed child trashes this byte, save... */ sv_ch = ld->fnsave[26]; + if (!G.shell) + G.shell = xstrdup(get_shell_name()); + while ((pid = vfork()) == -1) pause2cannot("vfork for processor", ld->name); if (!pid) { @@ -416,8 +420,7 @@ static void processorstart(struct logdir *ld) fd = xopen("newstate", O_WRONLY|O_NDELAY|O_TRUNC|O_CREAT); xmove_fd(fd, 5); -// getenv("SHELL")? - execl(DEFAULT_SHELL, DEFAULT_SHELL_SHORT_NAME, "-c", ld->processor, (char*) NULL); + execl(G.shell, G.shell, "-c", ld->processor, (char*) NULL); bb_perror_msg_and_die(FATAL"can't %s processor %s", "run", ld->name); } ld->fnsave[26] = sv_ch; /* ...restore */ -- cgit v1.2.3-55-g6feb