add thread branding
[lttv.git] / ltt / branches / poly / lttv / lttv / state.c
index e8bc78c13561aafd6311f11754c85094152ca5bc..9b3c0822586e1c6029b4e3f6a8fb54da583f20e8 100644 (file)
@@ -1365,8 +1365,8 @@ static gboolean trap_entry(void *hook_data, void *call_data)
 
   LttvExecutionSubmode submode;
 
-  guint nb_traps = ((LttvTraceState *)(s->parent.t_context))->nb_traps;
-  guint trap = ltt_event_get_unsigned(e, f);
+  guint64 nb_traps = ((LttvTraceState *)(s->parent.t_context))->nb_traps;
+  guint64 trap = ltt_event_get_long_unsigned(e, f);
 
   if(trap < nb_traps) {
     submode = ((LttvTraceState *)(s->parent.t_context))->trap_names[trap];
@@ -1447,7 +1447,7 @@ static gboolean soft_irq_entry(void *hook_data, void *call_data)
   LttvExecutionSubmode submode;
 
   submode = ((LttvTraceState *)(s->parent.t_context))->soft_irq_names[
-      ltt_event_get_unsigned(e, f)];
+      ltt_event_get_long_unsigned(e, f)];
 
   /* Do something with the info about being in user or system mode when int? */
   push_state(s, LTTV_STATE_SOFT_IRQ, submode);
@@ -1692,13 +1692,14 @@ static gboolean process_exit(void *hook_data, void *call_data)
   guint pid;
   guint cpu = s->cpu;
   LttvTraceState *ts = (LttvTraceState*)s->parent.t_context;
-  LttvProcessState *process = ts->running_process[cpu];
+  LttvProcessState *process; // = ts->running_process[cpu];
 
   pid = ltt_event_get_unsigned(e, thf->f1);
 
   // FIXME : Add this test in the "known state" section
   // g_assert(process->pid == pid);
 
+  process = lttv_state_find_process(ts, ANY_CPU, pid);
   if(likely(process != NULL)) {
     process->state->s = LTTV_STATE_EXIT;
   }
@@ -1743,9 +1744,8 @@ static gboolean process_free(void *hook_data, void *call_data)
         break;
       }
     }
-    //if(i == num_cpus) /* process is not scheduled */
-      //exit_process(s, process);      // do nothing : wait for the schedchange to
-                       //delete the process.
+    if(i == num_cpus) /* process is not scheduled */
+      exit_process(s, process);
   }
 
   return FALSE;
This page took 0.023828 seconds and 4 git commands to generate.