Update FSF address
[lttv.git] / lttv / modules / gui / controlflow / eventhooks.c
index 6269e5c48e1c42ec4c19e1b73999e0cf2ba00d25..30f0c76d69f05211721ca33bea5bf47655cbedd5 100644 (file)
@@ -12,8 +12,8 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, 
- * MA 02111-1307, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * MA 02110-1301, USA.
  */
 
 
 
 //#include <pango/pango.h>
 
-#include <ltt/event.h>
-#include <ltt/time.h>
-#include <ltt/trace.h>
-
 #include <lttv/lttv.h>
 #include <lttv/hook.h>
 #include <lttv/state.h>
@@ -121,7 +117,6 @@ static void request_background_data(ControlFlowData *control_flow_data)
   gint num_traces = lttv_traceset_number(ts);
   gint i;
   LttvTrace *trace;
-  LttvTraceState *tstate;
 
   LttvHooks *background_ready_hook = lttv_hooks_new();
   lttv_hooks_add(background_ready_hook, background_ready, control_flow_data,
@@ -130,8 +125,7 @@ static void request_background_data(ControlFlowData *control_flow_data)
   
   for(i=0;i<num_traces;i++) {
     trace = lttv_traceset_get(ts, i);
-    tstate = trace->state;
-
+  
     if(lttvwindowtraces_get_ready(g_quark_from_string("state"),trace)==FALSE
         && !ts->has_precomputed_states) {
 
@@ -311,7 +305,6 @@ HashedProcessData *get_hashed_process_data(ControlFlowData *control_flow_data,
                                &birth,
                                trace_num,
                                process->name,
-                               process->brand,
                                &pl_height,
                                &process_info,
                                &hashed_process_data);
@@ -501,7 +494,7 @@ int before_trywakeup_hook(void *hook_data, void *call_data)
      * draw items from the beginning of the read for it. If it is not
      * present, it's a new process and it was not present : it will
      * be added after the state update. TOCHECK: What does that last para mean? */
-      guint trace_num = 0; /*TODO ybrosseau 2012-08-23: use right number */
+      guint trace_num = lttv_traceset_get_trace_index_from_event(event);
       LttvProcessState *process = lttv_state_find_process(ts, woken_cpu, woken_pid);
     
     if(process != NULL) {
@@ -559,7 +552,6 @@ int before_schedchange_hook(void *hook_data, void *call_data)
   //LttvProcessState *old_process = ts->running_process[cpu];
 
   guint pid_in, pid_out;
-  gint64 state_out;
   LttTime evtime;
   event = (LttvEvent *) call_data;
   if (strcmp(lttv_traceset_get_name_from_event(event),"sched_switch") != 0)
@@ -577,8 +569,7 @@ int before_schedchange_hook(void *hook_data, void *call_data)
   
   pid_out = lttv_event_get_long(event, "prev_tid");
   pid_in = lttv_event_get_long(event, "next_tid");
-  state_out = lttv_event_get_long(event, "prev_state");
-  guint trace_number = 0;//TODO fdeslauriers 2012-07-17: // Use trace handle to know trace number
+  guint trace_number = lttv_traceset_get_trace_index_from_event(event);
 
   process = lttv_state_find_process(ts,cpu,pid_out);
   evtime = lttv_event_get_timestamp(event);
@@ -637,7 +628,7 @@ int before_schedchange_hook(void *hook_data, void *call_data)
                  evtime );
 
     } else
-      g_warning("Cannot find pin_in in schedchange %u", pid_in);
+           g_warning("Cannot find pid_in in schedchange %u at %lu.%lu", pid_in, evtime.tv_sec, evtime.tv_nsec);
 #ifdef BABEL_CLEANUP
   tfc->target_pid = target_pid_saved;
 #endif //babel_cleanup
@@ -719,7 +710,7 @@ int after_schedchange_hook(void *hook_data, void *call_data)
     //process_in = lttv_state_find_process(ts, ANY_CPU, pid_in);
     //process_in = tfs->process;
     guint cpu = lttv_traceset_get_cpuid_from_event(event);
-    guint trace_num = 0; /* TODO set right trace number */
+    guint trace_num = lttv_traceset_get_trace_index_from_event(event);
     process_in = ts->running_process[cpu];
     /* It should exist, because we are after the state update. */
 #ifdef EXTRA_CHECK
@@ -788,7 +779,6 @@ int before_execmode_hook(void *hook_data, void *call_data)
 {
   LttvEvent *event;
   guint cpu;
-  guint pid = 0;
   LttvTraceState *ts;
   LttvProcessState *process;
   
@@ -806,12 +796,11 @@ int before_execmode_hook(void *hook_data, void *call_data)
   LttTime evtime = lttv_event_get_timestamp(event);
   ControlFlowData *control_flow_data = (ControlFlowData*)hook_data;
   /* For the pid */
-  LttvTraceset *traceSet = lttvwindow_get_traceset(control_flow_data->tab);
   
   cpu = lttv_traceset_get_cpuid_from_event(event);
   ts = event->state;
   
-  guint trace_number = 0;//TODO fdeslauriers 2012-07-17: // Use trace handle to know trace number
+  guint trace_number = lttv_traceset_get_trace_index_from_event(event);
 
   //TODO ybrosseau 2013-04-09 validate that using the running process is the right choice
   //process = lttv_state_find_process(ts ,cpu ,pid);
@@ -895,7 +884,7 @@ int before_process_exit_hook(void *hook_data, void *call_data)
   /* Add process to process list (if not present) */
   //LttvProcessState *process = tfs->process;
     guint cpu = lttv_traceset_get_cpuid_from_event(event);
-    guint trace_num = 0; /* TODO set right trace number */
+    guint trace_num = lttv_traceset_get_trace_index_from_event(event);
 
   LttvProcessState *process = ts->running_process[cpu];
   guint pid = process->pid;
@@ -964,7 +953,7 @@ int before_process_release_hook(void *hook_data, void *call_data)
   LttTime evtime = lttv_event_get_timestamp(event);
 
 
-    guint trace_num = 0; /* TODO set right trace number */
+    guint trace_num = lttv_traceset_get_trace_index_from_event(event);
 
   guint pid;
   {
@@ -1066,7 +1055,7 @@ int after_process_fork_hook(void *hook_data, void *call_data)
   /* It should exist, because we are after the state update. */
   g_assert(process_child != NULL);
 
-  guint trace_num = 0; /* TODO put right */
+  guint trace_num = lttv_traceset_get_trace_index_from_event(event);
 
   /* Cannot use current process, because this action is done by the parent
    * on its child. */
@@ -1160,7 +1149,7 @@ int after_process_exit_hook(void *hook_data, void *call_data)
   /* Add process to process list (if not present) */
   //LttvProcessState *process = tfs->process;
   guint cpu = lttv_traceset_get_cpuid_from_event(event);
-  guint trace_num = 0; /* TODO set right trace number */
+  guint trace_num = lttv_traceset_get_trace_index_from_event(event);
   LttvProcessState *process = ts->running_process[cpu];
 
   /* It should exist, because we are after the state update. */
@@ -1312,7 +1301,7 @@ int after_event_enum_process_hook(void *hook_data, void *call_data)
   HashedProcessData *hashed_process_data_in = NULL;
 
   ProcessList *process_list = control_flow_data->process_list;
-  guint trace_num = 0; /* TODO put right trace number */
+  guint trace_num = lttv_traceset_get_trace_index_from_event(event);
   
   guint pid_in;
   {
@@ -1777,8 +1766,8 @@ void draw_closure(gpointer key, gpointer value, gpointer user_data)
 #ifdef EXTRA_CHECK
     g_assert(lttv_traceset_number(tsc->ts) > 0);
 #endif //EXTRA_CHECK
-    //TODO Fdeslauriers 2012-07-17: adapt for multiple traces
-    LttvTrace *trace = lttv_traceset_get(ts,0);
+
+    LttvTrace *trace = lttv_traceset_get(ts, process_info->trace_num);
     LttvTraceState *trace_state = trace->state;
 
 #if 0
@@ -2031,10 +2020,6 @@ int before_statedump_end(void *hook_data, void *call_data)
 
   ControlFlowData *control_flow_data = (ControlFlowData*) hook_data;
 
-
-  LttvTraceState *ts = event->state;
-
-
   ProcessList *process_list = control_flow_data->process_list;
 
 #ifdef BABEL_CLEANUP
This page took 0.027007 seconds and 4 git commands to generate.