diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/launchpad.c | 4 | ||||
-rw-r--r-- | src/launchpad_common.c | 17 | ||||
-rw-r--r-- | src/launchpad_lib.c | 4 |
3 files changed, 25 insertions, 0 deletions
diff --git a/src/launchpad.c b/src/launchpad.c index 3b2592a..f6d5301 100755 --- a/src/launchpad.c +++ b/src/launchpad.c @@ -1005,6 +1005,10 @@ static int __prepare_exec(const char *appid, const char *app_path, ret = _prepare_app_socket(); if (ret < 0) return PAD_ERR_FAILED; + + ret = _prepare_id_file(); + if (ret < 0) + return PAD_ERR_FAILED; } return 0; diff --git a/src/launchpad_common.c b/src/launchpad_common.c index da3ba04..21cb409 100644 --- a/src/launchpad_common.c +++ b/src/launchpad_common.c @@ -1353,3 +1353,20 @@ int _verify_proc_caps(void) return 0; } + +int _prepare_id_file(void) +{ + char path[PATH_MAX]; + int fd; + + snprintf(path, sizeof(path), "/run/aul/apps/%u/%d/%s", + getuid(), getpid(), getenv("AUL_APPID")); + fd = open(path, O_CREAT | O_WRONLY | O_TRUNC, 0600); + if (fd < 0) { + _E("Failed to create %s. errno(%d)", path, errno); + return -1; + } + close(fd); + + return 0; +} diff --git a/src/launchpad_lib.c b/src/launchpad_lib.c index dd7620a..4041141 100644 --- a/src/launchpad_lib.c +++ b/src/launchpad_lib.c @@ -145,6 +145,10 @@ static int __prepare_exec(const char *appid, const char *app_path, if (ret < 0) return -1; + ret = _prepare_id_file(); + if (ret < 0) + return -1; + return 0; } |