Fix: pid tracker should track "pgid"
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 1 Jun 2017 18:24:11 +0000 (14:24 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Thu, 1 Jun 2017 18:29:28 +0000 (14:29 -0400)
The "pid" notion exposed by LTTng translates to the "pgid" notion in the
Linux kernel. Therefore using "current->pid" as argument to the PID
tracker actually ends up behaving as a "tid" tracker, which does not
match the intent nor the user-space tracer behavior.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
probes/lttng-tracepoint-event-impl.h

index 45c38ff43b21cc6dab85b7ff72a8fe3996564725..f940ff412deb30d6d44c6dfee2eb6658e7cb17b3 100644 (file)
@@ -961,7 +961,7 @@ static void __event_probe__##_name(void *__data, _proto)                  \
        if (unlikely(!ACCESS_ONCE(__event->enabled)))                         \
                return;                                                       \
        __lpf = lttng_rcu_dereference(__session->pid_tracker);                \
-       if (__lpf && likely(!lttng_pid_tracker_lookup(__lpf, current->pid)))  \
+       if (__lpf && likely(!lttng_pid_tracker_lookup(__lpf, current->tgid))) \
                return;                                                       \
        _code_pre                                                             \
        if (unlikely(!list_empty(&__event->bytecode_runtime_head))) {         \
This page took 0.026083 seconds and 4 git commands to generate.