Don't automatically prepend the "tty" prefix to `pkill -t' arguments.
Because we now enforce UNIX98-style PTY's, we now use a lot of TTY's that don't have the traditional /dev/ttyXX naming scheme. pkill(1)'s -t flag automatically prepended the word "tty" to each TTY that was passed on the command line. This meant that `pkill -t pts/0' was actually converted to /dev/ttypts/0. Disable this broken behaviour for now. Reported by: erwin
This commit is contained in:
parent
5b4acc89f4
commit
67d011afcb
@ -179,10 +179,9 @@ command.
|
|||||||
Restrict matches to processes associated with a terminal in the
|
Restrict matches to processes associated with a terminal in the
|
||||||
comma-separated list
|
comma-separated list
|
||||||
.Ar tty .
|
.Ar tty .
|
||||||
Terminal names may be of the form
|
The
|
||||||
.Pa tty Ns Ar xx
|
.Pa /dev/
|
||||||
or the shortened form
|
prefix of the terminal names must be omitted.
|
||||||
.Ar xx .
|
|
||||||
A single dash
|
A single dash
|
||||||
.Pq Ql -
|
.Pq Ql -
|
||||||
matches processes not associated with a terminal.
|
matches processes not associated with a terminal.
|
||||||
|
@ -607,12 +607,11 @@ makelist(struct listhead *head, enum listtype type, char *src)
|
|||||||
struct passwd *pw;
|
struct passwd *pw;
|
||||||
struct group *gr;
|
struct group *gr;
|
||||||
struct stat st;
|
struct stat st;
|
||||||
const char *cp, *prefix;
|
const char *cp;
|
||||||
char *sp, *ep, buf[MAXPATHLEN];
|
char *sp, *ep, buf[MAXPATHLEN];
|
||||||
int empty;
|
int empty;
|
||||||
|
|
||||||
empty = 1;
|
empty = 1;
|
||||||
prefix = _PATH_DEV;
|
|
||||||
|
|
||||||
while ((sp = strsep(&src, ",")) != NULL) {
|
while ((sp = strsep(&src, ",")) != NULL) {
|
||||||
if (*sp == '\0')
|
if (*sp == '\0')
|
||||||
@ -673,11 +672,9 @@ makelist(struct listhead *head, enum listtype type, char *src)
|
|||||||
cp = "console";
|
cp = "console";
|
||||||
} else {
|
} else {
|
||||||
cp = sp;
|
cp = sp;
|
||||||
if (strncmp(sp, "tty", 3) != 0)
|
|
||||||
prefix = _PATH_TTY;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "%s%s", prefix, cp);
|
snprintf(buf, sizeof(buf), _PATH_DEV "%s", cp);
|
||||||
|
|
||||||
if (stat(buf, &st) == -1) {
|
if (stat(buf, &st) == -1) {
|
||||||
if (errno == ENOENT) {
|
if (errno == ENOENT) {
|
||||||
|
Loading…
Reference in New Issue
Block a user