LTTng.core: Critical Flow fix incorrect process name
authorAbderrahmane Berhil <abdelrahmane.b@gmail.com>
Thu, 25 May 2017 18:36:01 +0000 (14:36 -0400)
committerGenevieve Bastien <gbastien+lttng@versatic.net>
Wed, 31 May 2017 13:30:30 +0000 (09:30 -0400)
fixes bug 514762

When the task is changing from a task other than idle, it may change its
name, it it is reset to the new name every time as a precaution.

Change-Id: Id65a1861b78de26c9a272b245a7a728f3fc6cca8
Signed-off-by: Abderrahmane Berhil <abdelrahmane.b@gmail.com>
Reviewed-on: https://git.eclipse.org/r/97991
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
Reviewed-by: Genevieve Bastien <gbastien+lttng@versatic.net>
Tested-by: Genevieve Bastien <gbastien+lttng@versatic.net>
lttng/org.eclipse.tracecompass.lttng2.kernel.core/src/org/eclipse/tracecompass/internal/lttng2/kernel/core/analysis/graph/handlers/TraceEventHandlerSched.java

index f913c751935bd76153421c7a3775976868e8f0c3..cdafb0d8ea33a6dd0c920a779736def6a3c70ff9 100644 (file)
@@ -83,10 +83,13 @@ public class TraceEventHandlerSched extends BaseHandler {
 
         HostThread prevHt = new HostThread(host, prev);
         LttngWorker prevTask = system.findWorker(prevHt);
+        String name = EventField.getOrDefault(event, eventLayout.fieldPrevComm(), NonNullUtils.checkNotNull(Messages.TraceEventHandlerSched_UnknownThreadName));
         if (prevTask == null) {
-            String name = EventField.getOrDefault(event, eventLayout.fieldPrevComm(), NonNullUtils.checkNotNull(Messages.TraceEventHandlerSched_UnknownThreadName));
             prevTask = new LttngWorker(prevHt, name, ts);
             system.addWorker(prevTask);
+        } else if (prev != 0) {
+            /* update the process name if changed at runtime */
+            prevTask.setName(name);
         }
         /* prev_state == 0 means runnable, thus waits for cpu */
         if (prev_state == 0) {
This page took 0.025743 seconds and 5 git commands to generate.