projects
/
firefly-linux-kernel-4.4.55.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-hrt
[firefly-linux-kernel-4.4.55.git]
/
kernel
/
posix-cpu-timers.c
diff --git
a/kernel/posix-cpu-timers.c
b/kernel/posix-cpu-timers.c
index b53c8fcd9d82d25044867c9529a17f9b1fdb00f8..68c96376e84a6078da9c07d6ebfc2b1c64a3e2a7 100644
(file)
--- a/
kernel/posix-cpu-timers.c
+++ b/
kernel/posix-cpu-timers.c
@@
-21,8
+21,8
@@
static int check_clock(const clockid_t which_clock)
read_lock(&tasklist_lock);
p = find_task_by_pid(pid);
read_lock(&tasklist_lock);
p = find_task_by_pid(pid);
- if (!p || (CPUCLOCK_PERTHREAD(which_clock) ?
-
p->tgid != current->tgid : p->tgid != pid
)) {
+ if (!p ||
!
(CPUCLOCK_PERTHREAD(which_clock) ?
+
same_thread_group(p, current) : thread_group_leader(p)
)) {
error = -EINVAL;
}
read_unlock(&tasklist_lock);
error = -EINVAL;
}
read_unlock(&tasklist_lock);
@@
-308,13
+308,13
@@
int posix_cpu_clock_get(const clockid_t which_clock, struct timespec *tp)
p = find_task_by_pid(pid);
if (p) {
if (CPUCLOCK_PERTHREAD(which_clock)) {
p = find_task_by_pid(pid);
if (p) {
if (CPUCLOCK_PERTHREAD(which_clock)) {
- if (
p->tgid == current->tgid
) {
+ if (
same_thread_group(p, current)
) {
error = cpu_clock_sample(which_clock,
p, &rtn);
}
} else {
read_lock(&tasklist_lock);
error = cpu_clock_sample(which_clock,
p, &rtn);
}
} else {
read_lock(&tasklist_lock);
- if (
p->tgid == pid
&& p->signal) {
+ if (
thread_group_leader(p)
&& p->signal) {
error =
cpu_clock_sample_group(which_clock,
p, &rtn);
error =
cpu_clock_sample_group(which_clock,
p, &rtn);
@@
-355,7
+355,7
@@
int posix_cpu_timer_create(struct k_itimer *new_timer)
p = current;
} else {
p = find_task_by_pid(pid);
p = current;
} else {
p = find_task_by_pid(pid);
- if (p &&
p->tgid != current->tgid
)
+ if (p &&
!same_thread_group(p, current)
)
p = NULL;
}
} else {
p = NULL;
}
} else {
@@
-363,7
+363,7
@@
int posix_cpu_timer_create(struct k_itimer *new_timer)
p = current->group_leader;
} else {
p = find_task_by_pid(pid);
p = current->group_leader;
} else {
p = find_task_by_pid(pid);
- if (p &&
p->tgid != pid
)
+ if (p &&
!thread_group_leader(p)
)
p = NULL;
}
}
p = NULL;
}
}