]> git.pld-linux.org Git - packages/SysVinit.git/blob - sysvinit-pidof.patch
- fix version in C: rc-scripts
[packages/SysVinit.git] / sysvinit-pidof.patch
1 --- sysvinit-2.88dsf/src/killall5.c.wiget       2010-03-19 15:10:55.000000000 +0100
2 +++ sysvinit-2.88dsf/src/killall5.c     2011-12-03 23:12:52.373139250 +0100
3 @@ -66,8 +66,9 @@ char *Version = "@(#)killall5 2.86 31-Ju
4  
5  /* Info about a process. */
6  typedef struct proc {
7 +       char *pathname;         /* full path to executable        */
8         char *argv0;            /* Name as found out from argv[0] */
9 -       char *argv0base;        /* `basename argv[1]`             */
10 +       char *argv0base;        /* `basename argv[0]`             */
11         char *argv1;            /* Name as found out from argv[1] */
12         char *argv1base;        /* `basename argv[1]`             */
13         char *statname;         /* the statname without braces    */
14 @@ -477,6 +478,7 @@ int readproc(int do_stat)
15                 if (p->argv0) free(p->argv0);
16                 if (p->argv1) free(p->argv1);
17                 if (p->statname) free(p->statname);
18 +               if (p->pathname) free(p->pathname);
19                 free(p);
20         }
21         plist = NULL;
22 @@ -616,6 +618,8 @@ int readproc(int do_stat)
23                                 break;
24                         p->dev = st.st_dev;
25                         p->ino = st.st_ino;
26 +                       p->pathname = (char *)xmalloc(PATH_MAX);
27 +                       readlink(path, p->pathname, PATH_MAX);
28                 default:
29                         break;
30                 }
31 @@ -806,6 +810,9 @@ PIDQ_HEAD *pidof(char *prog)
32                      p->argv0[0] == '-')) {
33                         ok |= (strcmp(p->statname, s) == 0);
34                 }
35 +                       
36 +               if (prog[0] == '/' && p->pathname && strcmp(prog, p->pathname))
37 +                       ok = 0;
38  
39                 if (ok) add_pid_to_q(q, p);
40         }
This page took 0.031424 seconds and 3 git commands to generate.