From: Sangyoon Jang Date: Tue, 19 May 2015 07:38:14 +0000 (+0900) Subject: Fix _status_app_is_running_v2 X-Git-Tag: accepted/tizen/common/20150521.125634~1^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F88%2F39588%2F2;p=platform%2Fcore%2Fappfw%2Faul-1.git Fix _status_app_is_running_v2 fix __proc_iter_cmdline Change-Id: I1c65f6ea67bde6a652e859cd53fc0a1418bfa0a2 Signed-off-by: Sangyoon Jang --- diff --git a/src/simple_util.c b/src/simple_util.c index 34af7ca..a583772 100644 --- a/src/simple_util.c +++ b/src/simple_util.c @@ -45,8 +45,8 @@ #define MAX_CMD_BUFSZ 1024 static inline int __read_proc(const char *path, char *buf, int size); -static inline int __find_pid_by_cmdline(const char *dname, - const char *cmdline, void *priv); +static inline int __find_pid_by_cmdline(const char *dname, const char *cmdline, + void *priv, uid_t uid); static inline int __get_pgid_from_stat(int pid); @@ -74,8 +74,8 @@ static inline int __read_proc(const char *path, char *buf, int size) return ret; } -static inline int __find_pid_by_cmdline(const char *dname, - const char *cmdline, void *priv) +static inline int __find_pid_by_cmdline(const char *dname, const char *cmdline, + void *priv, uid_t uid) { char *apppath; int pid = 0; @@ -102,7 +102,6 @@ int __proc_iter_cmdline( char *cmdline; uid_t uid; dp = opendir("/proc"); - struct stat DirStat; if (dp == NULL) { return -1; @@ -115,20 +114,13 @@ int __proc_iter_cmdline( if (!isdigit(dentry->d_name[0])) continue; + uid = __proc_get_usr_bypid(atoi(dentry->d_name)); + snprintf(buf, sizeof(buf), "/proc/%s/cmdline", dentry->d_name); ret = __read_proc(buf, buf, sizeof(buf)); if (ret <= 0) continue; - snprintf(buf, sizeof(buf), "/proc/%s", dentry->d_name); - ret = stat(buf, &DirStat); - if (ret < 0) - uid = (uid_t)-1; - else - uid = DirStat.st_uid; - - - /* support app launched by shell script*/ cmdline = buf; if (strncmp(buf, BINSH_NAME, BINSH_SIZE) == 0) {