From: John Crispin Date: Mon, 18 Nov 2013 10:41:04 +0000 (+0100) Subject: add debug level handover between preinit and main process X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=d49096fea2499f118976fc6ad17e803847629eab;p=oweals%2Fprocd.git add debug level handover between preinit and main process Signed-off-by: John Crispin --- diff --git a/initd/preinit.c b/initd/preinit.c index eeadbeb..c5f7ada 100644 --- a/initd/preinit.c +++ b/initd/preinit.c @@ -34,7 +34,7 @@ static void spawn_procd(struct uloop_process *proc, int ret) { char *wdt_fd = watchdog_fd(); - char *argv[] = { "/sbin/procd", NULL }; + char *argv[] = { "/sbin/procd", "-d", "0", NULL }; struct stat s; if (plugd_proc.pid > 0) @@ -49,6 +49,10 @@ spawn_procd(struct uloop_process *proc, int ret) DEBUG(2, "Exec to real procd now\n"); if (wdt_fd) setenv("WDTFD", wdt_fd, 1); + if (debug) + snprintf(argv[2], 2, "%d", debug & 0xf); + else + argv[1] = NULL; execvp(argv[0], argv); } diff --git a/procd.c b/procd.c index a72912a..6fb0a72 100644 --- a/procd.c +++ b/procd.c @@ -32,7 +32,7 @@ static int usage(const char *prog) "Options:\n" "\t-s \tPath to ubus socket\n" "\t-h \trun as hotplug daemon\n" - "\td\t\tEnable debug messages\n" + "\t-d \tEnable debug messages\n" "\n", prog); return 1; } @@ -41,7 +41,7 @@ int main(int argc, char **argv) { int ch; - while ((ch = getopt(argc, argv, "ds:h:")) != -1) { + while ((ch = getopt(argc, argv, "d:s:h:")) != -1) { switch (ch) { case 'h': return hotplug_run(optarg); @@ -49,7 +49,7 @@ int main(int argc, char **argv) ubus_socket = optarg; break; case 'd': - debug++; + debug = atoi(optarg); break; default: return usage(argv[0]);