Patch from Natanael Copa to make start-stop-daemon just use readlink and

strcmp to check if a program is already running.
This commit is contained in:
Rob Landley 2006-09-04 18:59:39 +00:00
parent adff40e80d
commit 8cedabaee0

View File

@ -39,16 +39,17 @@ static inline void push(pid_t pid)
static int pid_is_exec(pid_t pid, const char *name)
{
char buf[32];
struct stat sb, exec_stat;
if (name)
xstat(name, &exec_stat);
char buf[32], *execbuf;
int equal;
sprintf(buf, "/proc/%d/exe", pid);
if (stat(buf, &sb) != 0)
return 0;
return (sb.st_dev == exec_stat.st_dev && sb.st_ino == exec_stat.st_ino);
execbuf = xstrdup(name);
readlink(buf, execbuf, strlen(name)+1);
equal = ! strcmp(execbuf, name);
if (ENABLE_FEATURE_CLEAN_UP)
free(execbuf);
return equal;
}
static int pid_is_user(int pid, int uid)