summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/launchpad.c4
-rw-r--r--src/launchpad_common.c17
-rw-r--r--src/launchpad_lib.c4
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;
}