diff options
author | José Bollo <jose.bollo@iot.bzh> | 2017-01-09 11:32:50 +0100 |
---|---|---|
committer | José Bollo <jose.bollo@iot.bzh> | 2017-01-09 13:43:15 +0100 |
commit | 86be207174efcb84f6eb22946724a25a3cd9b56c (patch) | |
tree | 568ad543eb2318506357a72e2f2d638d1da26e8d | |
parent | c07d1ea01ae008dc5aa379932b1d2da90d7d291c (diff) |
Set application id when forking
This improvement should make log message more clear.
Change-Id: Ifc78f7d913a1798a43b54df6b2bf9b52232d328a
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
-rw-r--r-- | src/afm-launch.c | 3 | ||||
-rw-r--r-- | src/verbose.c | 8 |
2 files changed, 9 insertions, 2 deletions
diff --git a/src/afm-launch.c b/src/afm-launch.c index bb528e5..9ed5966 100644 --- a/src/afm-launch.c +++ b/src/afm-launch.c @@ -731,6 +731,9 @@ static pid_t launch( close(rpipe[0]); + /* set name by appid */ + verbose_set_name(desc->appid, 0); + /* avoid set-gid effect */ setresgid(groupid, groupid, groupid); diff --git a/src/verbose.c b/src/verbose.c index 2045bde..6d0db01 100644 --- a/src/verbose.c +++ b/src/verbose.c @@ -43,14 +43,17 @@ void vverbose(int level, const char *file, int line, const char *fmt, va_list ar void verbose_set_name(const char *name, int authority) { + closelog(); openlog(name, LOG_PERROR, authority ? LOG_AUTH : LOG_USER); } #else +#include <stdlib.h> +#include <string.h> #include <unistd.h> -static const char *appname; +static char *appname; static int appauthority; @@ -79,7 +82,8 @@ void vverbose(int level, const char *file, int line, const char *fmt, va_list ar void verbose_set_name(const char *name, int authority) { - appname = name; + free(appname); + appname = name ? strdup(name) : NULL; appauthority = authority; } |